In February 2026, Anthropic shipped adaptive thinking. The model now decides how much to reason per turn instead of using a fixed budget. Then in March, the default effort level for Pro and Max users quietly dropped to medium . Boris Cherny (Claude Code’s creator) confirmed both of these on Hacker News. The result is a compounding problem. The model is reasoning less per turn, and sometimes deciding to skip reasoning entirely. Boris specifically noted that turns where Claude fabricated things (fake API versions, hallucinated commit SHAs, nonexistent packages) had zero reasoning tokens allocated. The model decided those turns were “simple” and did not think at all. Human devs are already terrible at estimating task complexity. Letting the model lowball its own reasoning budget on the fly makes this worse, because a lot of coding tasks are deceptively simple on the surface. The difficulty is in the hidden constraints, side effects, and context that only become apparent once you are actually thinking through the problem. The 1M context window This one I am less certain about, but it is worth mentioning. A bigger context window does not automatically make a model better. Gemini had huge context long ago, and that alone never made it the best coding model. Once hundreds of thousands of tokens are competing for attention, nuance can get lost and outputs get sloppy. It is like asking someone to write good code while keeping half a million loosely related things in their head at once. I disabled this alongside the thinking changes, so I cannot fully isolate how much it helped on its own. But if your repo is large and you are seeing unfocused outputs, it is worth trying. What I changed In ~/.claude/settings.json : { “effortLevel”: “high”, “env”: { “CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING”: “1”, “CLAUDE_CODE_DISABLE_1M_CONTEXT”: “1” } } What this does: forces high effort on every turn, disables adaptive thinking so the model uses a fixed reasoning budget instead of deciding per-turn, and disables the 1M context behavior. One tradeoff to know about. Disabling adaptive thinking also disables interleaved thinking (reasoning between tool calls), which is actually useful for agentic workflows. If effortLevel: “high” alone fixes your issues, you may not need the nuclear option of disabling adaptive thinking entirely. Try high first. Escalate to disabling adaptive if you are still seeing problems. If you go the full route and disable adaptive thinking, you can also set MAX_THINKING_TOKENS to control the fixed budget explicitly. Other things that help Run /compact after each task. This compresses your context and keeps the model focused. Small habit, noticeable difference. Did it help? Before this, I was seeing shallow diffs, missed edge cases, and premature “done” responses. After making these changes, the behavior improved noticeably. I cannot say how much is causal vs. correlation. Your repo, prompting style, and setup may differ. But the point is this: if the defaults shifted under you without you knowing, your first move should be reclaiming those settings before assuming the model itself got worse. submitted by /u/YeXiu223
Originally posted by u/YeXiu223 on r/ClaudeCode
