Season the chicken: Pat the chicken dry. In a small bowl, mix chili powder, cumin, smoked paprika, oregano, salt, pepper, and chipotle or cayenne if using.
Sprinkle evenly over the chicken and rub to coat.
Sauté aromatics: Heat oil in a large skillet over medium heat. Add diced onion and cook 3–4 minutes until softened. Stir in garlic and cook 30 seconds until fragrant.
Build the sauce: Add tomato paste to the skillet and cook 1 minute, stirring to coat the onions.
Pour in chicken broth and lime juice, scraping up any browned bits. Bring to a gentle simmer.
Cook the chicken (skillet method): Nestle the seasoned chicken into the sauce, cover, and cook over medium-low heat for 12–16 minutes, flipping halfway, until cooked through (internal temp 165°F/74°C).
Alternative: Slow cooker: Add onions, garlic, tomato paste, broth, lime, and seasonings to the slow cooker. Add chicken, coat, and cook on Low 4–5 hours or High 2–3 hours.
Alternative: Instant Pot: Use Sauté to cook the onion and garlic with oil and tomato paste.
Stir in broth and lime, then add chicken and spices. Seal and cook on High Pressure for 8–10 minutes (thighs) or 10–12 minutes (breasts). Quick release.
Shred: Transfer cooked chicken to a bowl and shred with two forks.
Return to the sauce and toss so it soaks up all the flavor. Simmer 2–3 minutes to thicken if needed. Adjust salt, lime, and heat to taste.
Warm the “shells”: Heat low-carb tortillas in a dry skillet 10–20 seconds per side until pliable, or wash and pat dry lettuce leaves.
Assemble: Fill tortillas or lettuce wraps with shredded chicken.
Top with avocado, cilantro, diced onion, cheese, sour cream, and jalapeños. Finish with a squeeze of lime.
Serve: Enjoy immediately while warm. Offer extra toppings and hot sauce at the table.