Heat the olive oil in a large pot over medium heat. Add the onion, garlic, and red bell pepper and cook for 4 minutes until the onion softens.
Stir in the chopped tomatoes and cook for 3 minutes until they start to break down. Pour in the coconut milk, salt, and black pepper. Bring the mixture to a gentle simmer.
Add the snapper pieces to the pot. Cover and simmer for 8 minutes until the fish flakes easily with a fork.
While the stew simmers, use a vegetable peeler to create long, thin ribbons from the cucumber. Set the ribbons aside.
Remove the pot from the heat and stir in the lime juice. Ladle the stew into bowls and top each serving with cucumber ribbons, cilantro, and mint.