Preheat and prep the squash: Heat the oven to 400°F (200°C). Halve the spaghetti squash lengthwise and scoop out the seeds.
Rub the cut sides with a little olive oil and season with salt and pepper.
Roast: Place the squash halves cut side down on a parchment-lined baking sheet. Roast for 35–45 minutes, until the flesh is tender and shreds easily with a fork.
Start the filling: While the squash roasts, warm 1–2 tablespoons of oil in a large skillet over medium heat. Sauté the red onion and bell pepper with a pinch of salt for 4–5 minutes, until softened.
Add aromatics and spices: Stir in the garlic, chili powder, cumin, smoked paprika, and coriander.
Cook 30–60 seconds until fragrant.
Mix in beans and corn: Add the black beans and corn. Cook for 3–4 minutes, stirring, until warmed through. Squeeze in half a lime and adjust salt and pepper to taste.
If using optional protein, stir it in now.
Shred the squash: When the squash is done, flip it cut side up and let it cool for a minute. Use a fork to scrape the flesh into spaghetti-like strands, leaving a thin layer attached to the skin so the shells hold their shape.
Season the strands: Toss the squash strands with a little salt, pepper, and a drizzle of olive oil. For extra flavor, add a spoonful of salsa or a squeeze of lime.
Assemble the bowls: Spoon some seasoned squash back into each shell.
Top with the warm Tex-Mex bean-and-corn mixture. Sprinkle with shredded cheese if using.
Optional melt: Return the filled bowls to the oven for 3–5 minutes to melt the cheese and heat everything through.
Finish with toppings: Add avocado, salsa, cilantro, a dollop of Greek yogurt or sour cream, and extra lime. For heat, add jalapeño or hot sauce.
Serve immediately.