First prep the spaghetti squash. Preheat the oven to 350 °F (175 °C). Cut the spaghetti squash in half using a large sharp knife, scoop out the seeds, and brush a little olive oil on the inside of each piece. Place the cut side down on a baking sheet.
Bake until tender, about an hour. Alternatively, keep the spaghetti squash whole. Poke a few holes deep into the squash with a large knife. Place in the oven whole. Bake for 60 minutes, remove from the oven and let rest for 10 to 20 minutes before slicing in half with a large serrated knife like a bread knife. Scoop out the seedy inside leaving the spaghetti strands.
Once cooked, use a fork to gently scrape the "spaghetti" strands into the center. If they seem overly watery, use a tea towel / paper towel to drain the liquid (this rarely is needed when I make it).
For the sauce, melt the butter in a small pot. Once hot add the garlic and saute for 1-2 minutes over medium-low heat. Add the flour and whisk into the butter (if using cassava, it may look crumbly). Cook for another minute while stirring. Add the cream cheese and stir it into the butter mixture.
Add the milk and whisk well. Bring up to a gentle simmer, cook until thickened, then remove from the heat. Add the freshly grated cheese and salt and stir until melted, just a minute or two. Pour half the sauce into each spaghetti squash half (or less if using a smaller squash). Gently stir to combine. Top with an extra sprinkle of Parmesan and place under the broiler of your oven for 2-3 minutes until golden and bubbly. Serve immediately.
If you're not using a freshly grated Parmesan and use an already shredded Parmesan instead, the volume will be different. I find it best to always use the weight measurement. In my experience though, freshly grated Parmesan will be roughly 1 cup since it's so fluffy, whereas already shredded Parmesan cheese will only be about 1/2 cup in volume for the same weight.