In a large bowl, combine the fish chunks with lime juice, minced garlic, salt, and black pepper.
Toss to coat and let marinate for about 30 minutes.
Heat the vegetable oil in a large pot or Dutch oven over medium heat.
Add the sliced onion and bell pepper. Cook until softened, about 5 minutes.
Stir in the chopped tomatoes and cook for another 3 minutes until the tomatoes start to break down.
Add the marinated fish to the pot.
Pour in the coconut milk and fish stock (or water).
If using, add the palm oil for an extra layer of flavor.
Bring the mixture to a gentle simmer.
Reduce the heat to low and cook for about 15-20 minutes, or until the fish is cooked through and the flavors are well combined.
Stir in the chopped cilantro and parsley.
Add cayenne pepper if using, to adjust the heat level to your preference.
Taste and adjust seasoning if necessary.
Enjoy your meal!