In a large bowl, combine chicken pieces with curry powder, allspice, salt, and black pepper. Mix well to coat the chicken evenly. Let it marinate for at least 30 minutes, or up to overnight in the refrigerator for deeper flavor.
Heat vegetable oil in a large pot or Dutch oven over medium heat. Add the marinated chicken pieces and brown on all sides for about 5-7 minutes. Remove the chicken and set aside.
In the same pot, add chopped onion, garlic, and ginger. Sauté for about 3-4 minutes until the onion becomes translucent.
Add the bell pepper and carrots to the pot, cooking for another 3 minutes.
Return the browned chicken to the pot, then pour in the coconut milk and chicken broth. Stir to combine all ingredients.
Bring the mixture to a gentle boil, then reduce the heat to low. Cover and simmer for 30-40 minutes, or until the chicken is cooked through and tender.
Stir in lime juice and sliced green onions just before serving. Adjust seasoning if needed.
Serve hot over rice or with flatbread to soak up the delicious sauce.