One word, one line, and a question you shouldn't have been asked twice
By Warya Wayne ·
Run create-vite@latest. Pick React. Pick TanStack Router. Then the TanStack CLI opens and asks you which framework you want — React or Solid.
You just answered that.
Why only React
create-vite hands off to the TanStack CLI to finish scaffolding. The Solid path passed --framework solid along with the handoff. The React path passed nothing.
So the CLI, receiving no framework, did the only sensible thing: it asked. Solid users never saw the prompt. React users always did.
Nothing was broken, exactly. The React branch had simply never been updated after a TanStack CLI behaviour change made the argument meaningful, and because Solid worked, the gap didn't look like a bug from the outside — it looked like how the tool worked.
The fix
Pass --framework react, matching what the Solid branch already did. One line changed, in packages/create-vite/src/index.ts.
Why this kind of bug survives
Asymmetry between two branches of the same feature is one of the easiest things to miss. Both paths "work" — nobody gets an error, no test fails, the project scaffolds correctly either way. The only symptom is one extra prompt, which every individual user experiences once and shrugs off.
It's the kind of thing you only notice if you happen to use the less-travelled path and know the other one exists. I noticed because I was scaffolding React projects repeatedly, and answering the same question twice got old.
If you find yourself mildly annoyed by the same friction more than twice, that's worth ten minutes in the source. Often the fix is one word.
Merged as vitejs/vite#22397.