Preheat water to 150°F using a sous vide precision cooker (I use Anova sous vide).
Prepare chicken by rinsing under cold water. Pat dry with paper towels and set it aside.
Mix the dry rub ingredients on a big plate. Now, prepare a large sous vide bag or a Ziploc bag by folding the top of the bag back over itself to form a hem. This will prevent chicken seasonings from getting on the edges of the bag. Set aside.
Place the chicken on the plate and rub the mixture all over it. Sprinkle the excess dry rub inside the chicken if there’s any left.
Slide the chicken into the prepared bag. Unfold the edge before closing the bag. Seal the bag using either a vacuum sealer or a hand pump.
Lower your bagged chicken into the preheated water bath, making sure the whole chicken is under the waterline. If using Ziploc bag, slowly lower your bagged chicken into your water bath, letting the pressure of the water press air out through the top of the bag. Once most of the air is out of the bag, carefully seal the bag just above the waterline. Cook for 6 hours.
Once the chicken is done, remove from the water bath and transfer it onto a plate. Gently pat with paper towels. Preserve the cooking liquid from the bag if you like for serving or for flavorful chicken soup or chicken stock later.
Heat a cast iron skillet over high heat. Melt butter and sear the whole chicken on all sides until the skin is golden brown and crispy, about 5 minutes. You can also cut up the chicken first before searing.
Serve with fresh cilantro. Enjoy!