Using the saute function, warm butter and coconut oil on high in an Instant Pot. When it’s hot, stir in onion and cook, stirring occasionally, until tender and slightly golden (12 to 15 minutes). Stir in garlic and ginger and cook for 2 minutes, then add coriander, cumin, cardamom, turmeric, cinnamon and red chile flakes. Cook spices, stirring frequently, until aromatic (1 to 2 minutes).
Add crushed tomato, chicken, salt and pepper to the Instant Pot, stirring to combine. Cover and cook on low* pressure for 4 minutes. Allow the pressure to release naturally (up to 10 minutes), then keep the pot on warm. Stir in the coconut milk and garam masala, and let the curry sit for 20 minutes before serving. Season to taste with salt.
To serve, ladle curry into a bowl over rice, then top with yogurt, cilantro, toasted coconut flakes and a squeeze of lime.
Notes
* Instant Pot recipes usually call for cooking on high pressure, so make sure you switch from high to low before setting the time.