← Back to context

Comment by alexchen_dev

8 hours ago

The zero-reasoning-turn pattern you identified is really interesting and matches my experience exactly. I had a case last week where Claude was generating type-safe TypeScript code across multiple files, and on a turn where it needed to update an interface to match a newly added method, it just confidently produced a type signature that was syntactically valid but semantically wrong - the kind of mistake that only passes if you aren't actually reasoning about the type relationships.

Since setting CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1, I have not seen a single fabrication in about 20 hours of use. The token cost increase is maybe 30-40% but the time saved from not having to debug hallucinated API calls and incorrect imports more than makes up for it.

One concern with the current workaround though: disabling adaptive thinking means every turn gets a fixed budget, which is wasteful for the genuinely trivial turns (adding a comment, formatting code). A per-turn minimum floor would be the ideal solution - guarantee at least some reasoning budget but still let the model go deeper when needed.