Back to Blog
April 15, 202612 min read3 views

Claude Opus 4.6 Adaptive Thinking: What Changed and How to Fix It

claude-aianthropicclaude-opusprompt-engineeringtips

Introduction

If you have been reading r/ClaudeAI over the last two weeks, you have almost certainly run into the same phrase repeating across hundreds of threads: Claude feels different. Developers who spend all day in Claude Code, prompt engineers running complex agent loops, and researchers pushing Claude Opus 4.6 on long-horizon tasks have all described the same subtle but persistent sensation. The model still works. The model still reasons. But the reads-per-edit ratio has dropped, the multi-step plans feel thinner, and the tokens seem to vanish faster than they used to. The community has tried to explain this with everything from routing conspiracies to silent model swaps. The real answer is simpler, more public, and entirely fixable once you understand what Anthropic actually changed.

This article walks through what happened to Claude Opus 4.6 between February and April 2026, what adaptive thinking really is, why the default effort level was dropped from high to medium, how this interacts with Claude Code and agentic workloads, and exactly how Claude power users can recover the behavior they expected. It is written for people who live inside Claude every day and who want more than a surface-level summary.

Context: Why Claude Opus 4.6 Felt Different in March and April

When Claude Opus 4.6 launched, it was positioned as Anthropic's flagship reasoning model for long, complex tasks. It shipped with extended thinking, improved tool use, and noticeably better behavior inside Claude Code. For the first few weeks, the model's behavior was stable and predictable. Then, starting in early February 2026, experienced users began noticing that Claude sometimes seemed to finish thinking earlier than it should. It was not catastrophic. It was not wrong. But it was different. The sensation was best described as a model that was being efficient rather than thorough, which is a meaningful regression when your workflow depends on the thoroughness.

The discussion accelerated when a GitHub issue posted by an engineering executive on April 2, 2026 presented a side-by-side log analysis. The single clearest number to come out of that analysis was reads per edit in Claude Code sessions, which had moved from around six and a half files read before each edit to roughly two. That is a large shift in how the model gathers context before acting. A few days later, a developer on social media reframed the issue as a sixty-seven percent drop in performance. The headline went viral. Anthropic was accused of silently nerfing the model. The real story is more nuanced and more useful to understand.

What Adaptive Thinking Actually Is

Anthropic's first major change to Claude Opus 4.6 after launch was the introduction of adaptive thinking on February 9, 2026. Adaptive thinking is a mechanism that lets the model decide, per turn, how much internal reasoning it needs to do before producing output. In older extended-thinking setups, the model would allocate a relatively fixed budget of reasoning tokens regardless of whether the incoming task was a one-line factual question or a complex multi-file refactor. Adaptive thinking replaces that with a dynamic budget. The model looks at the incoming task, estimates the complexity, and scales its internal reasoning accordingly. The goal is latency efficiency. A simple question gets a short internal pass. A harder question gets a deeper one. Most of the time, this is exactly what users want.

The problem is that adaptive thinking depends on the model's own estimate of task complexity, and that estimate is not perfect. For power users, the tasks that seem superficially simple are often the ones that most reward deep reasoning. A debugging request that looks like a small bug fix can actually require reading a dozen files, reconstructing an execution trace, and reasoning about invariants that span modules. If the model classifies that request as moderate rather than complex, it will think less than you want it to. The behavior is not a hallucination and not a regression in raw capability. It is a calibration mismatch between the model's complexity estimator and the user's actual intent.

The Effort-Level Change and Why It Mattered More Than People Realized

The second change, and the one that produced most of the measurable user-visible effect, happened on March 3, 2026. On that date, Anthropic changed the default effort level for Claude Opus 4.6 from high to medium. Effort level is the tunable knob that sits on top of adaptive thinking. It tells the model how aggressive to be in its reasoning allocation. At high effort, the model tends to err on the side of thinking more. At medium effort, it errs on the side of latency and token cost. At low effort, it behaves much more like a chat-optimized model.

From Anthropic's perspective, switching the default from high to medium was a reasonable product decision. High-effort defaults are expensive to serve at scale. They generate more internal tokens, which increases latency for every user, including the very large number of users who are not doing complex agentic work. A medium default reduces average latency and average cost while preserving the ability for advanced users to opt in to high effort when they need it. From a power user perspective, though, the switch produced two simultaneous effects that compounded each other. First, adaptive thinking was already calibrating slightly lower than some users wanted. Second, the effort-level ceiling that used to pull the budget back up had been lowered. The net result was exactly the pattern that power users observed: shallower file exploration, shorter planning phases, and tighter reasoning traces.

Why Claude Code Users Felt It First

Claude Code is where the change showed up most visibly, and the reason is structural. When Claude is driving an agent loop in a codebase, the quality of early decisions compounds. If the model reads fewer files before the first edit, it has less context when evaluating whether the edit is safe. If it reasons less about invariants, it is more likely to make a change that breaks a test it has not seen. That test failure triggers a retry, which consumes more tokens, which frustrates the user, which produces a thread on r/ClaudeAI.

The reads-per-edit metric that circulated in early April is the cleanest quantitative handle on this effect. Before the effort-level change, a typical Claude Code session on Opus 4.6 showed roughly six to seven file reads preceding each edit. After the change, that fell to around two. The model was not incompetent. It was simply operating on thinner context. For one-shot questions this is invisible. For agent loops that run for many turns, it produces a different quality of outcome and a different total token cost, because the shortfall in early reasoning gets paid back later in retries. This is the core insight power users need to understand. The change looks like a cost optimization, but for agentic workloads it often increases total cost because the retries cost more than the reasoning would have.

How to Restore the Old Behavior

The fix is straightforward once you know it exists. There are three layers of control, and power users should be comfortable with all three.

The first layer is the effort-level setting itself. Anthropic did not remove the high effort level. They only moved the default. You can set the effort level back to high on a per-request basis through the API, through the system-prompt configuration, or through your Claude Code settings depending on which surface you use. When you do, the model returns to the reasoning budget that felt right during the first weeks after launch. For most power users this single change is enough to resolve the perceived regression.

The second layer is prompt design. Adaptive thinking relies on the model's estimate of task complexity, which is influenced by how you phrase the task. Vague prompts get categorized as simple tasks and receive less internal reasoning. Concrete prompts that name specific files, invariants, or constraints get categorized as complex and receive more. This is not a trick. It is a straightforward consequence of how the estimator works. If you want the model to think more about your task, tell it what is hard about your task. Explicit acknowledgment of the constraints you care about, the edge cases you have seen before, and the shape of the correct solution reliably pulls the model into a deeper reasoning mode.

The third layer is explicit instruction to think. You can ask Claude Opus 4.6 to think step by step about the task before answering, to outline the relevant files before editing, or to enumerate the invariants it is preserving. These are not magic incantations but they are not superstition either. They shift the model's allocation of internal reasoning upward because they expand the task description in ways the complexity estimator is sensitive to. Combined with a high effort-level setting, they reliably produce the pre-March behavior.

What This Reveals About Modern Frontier Models

The deeper lesson from the Claude Opus 4.6 adaptive-thinking episode is that frontier models are no longer single static artifacts. They are systems with multiple knobs, defaults, and runtime policies that Anthropic tunes continuously. The model weights have not changed, but the effective behavior of the model can change from one week to the next because the defaults around it changed. This is not unique to Anthropic. Every major model provider is now shipping similar control surfaces. The difference between a satisfied user and a frustrated one is often a single default setting that was chosen reasonably at the provider level but does not match the user's workflow.

For power users, the practical implication is that you should treat default settings as suggestions rather than as ground truth. When a model feels different, the first question to ask is not whether the model was swapped or nerfed, but whether a default around the model has shifted. The second question is whether the knob you actually want is still exposed. For Claude Opus 4.6, both answers are public and well-documented. The effort level is still exposed, the high setting still exists, and switching to it restores the behavior that power users spent February and March missing.

Common Mistakes and What to Avoid

The most common mistake is assuming the change is invisible and cannot be controlled. It can. High effort level is a supported configuration, and using it is not an exploit or a workaround. It is the same setting the model used before March 3 as a default. A second common mistake is over-correcting with extremely verbose prompts that try to force the model into deep reasoning on every request. This is wasteful. Not every task benefits from deep reasoning, and bloating short prompts with instructions to think step by step on trivial questions only increases latency without improving output. Use high effort level selectively for the workloads that need it.

A third mistake is conflating the adaptive-thinking behavior with unrelated Claude Code issues. Claude Code has its own context budget, its own tool-use loop, and its own retry logic. Some of what users experienced in March and April was the compound effect of adaptive thinking interacting with those layers. If you change your effort level and still see unexpected behavior, the next place to look is your Claude Code configuration and your system prompt, not the model itself. Finally, avoid the temptation to blame the model for every wrong answer. Models can be wrong for many reasons, and adaptive thinking is only one of them. The value of understanding adaptive thinking is that it removes one specific, fixable source of confusion, not that it explains every frustration.

Implications for Your Daily Workflow

If you use Claude Opus 4.6 for long-form writing or research, the default medium effort is probably fine. The tasks are usually self-describing enough that the complexity estimator classifies them well, and the cost savings of medium effort are real. If you use Claude Opus 4.6 for Claude Code, agent loops, or any multi-turn workflow where early decisions compound, you should seriously consider setting high effort as your default for that surface. The extra reasoning tokens are an investment that pays back in fewer retries and better first-pass quality. If you switch between these modes of work during the day, it is worth taking a few minutes to configure your environment so that each surface uses the effort level that matches the workload.

It is also worth tracking your own usage patterns over time. Anthropic may tune defaults again as they gather more data, and the shape of what works best may shift. Power users who monitor their own reads-per-edit, their own first-pass success rate, and their own token consumption across models are the ones who notice these shifts first and adapt first. If you are a heavy Claude user, tools like SuperClaude can help you monitor your usage limits in real-time and surface the patterns that matter across Opus, Sonnet, and Haiku.

Conclusion

The Claude Opus 4.6 adaptive-thinking story is a useful case study in how modern AI systems evolve after launch. The model did not get worse. The defaults around it changed. Adaptive thinking was introduced on February 9, 2026 to make the model more efficient across a wide range of tasks. The default effort level was moved from high to medium on March 3, 2026 to reduce average latency and cost. The combined effect was a subtle but real shift in how the model allocated internal reasoning, which showed up most clearly in Claude Code agent loops and in the reads-per-edit metric that went viral in early April. The shift is not a regression in capability. It is a shift in defaults, and power users can recover the earlier behavior by setting effort level to high, writing more explicit prompts, and using targeted instructions to think before acting. Understanding this is the difference between complaining about a nerf and configuring the tool to do exactly what you need.

For Claude power users, the takeaway is simple. Learn the knobs. Use them. And when the model feels different, check the defaults before you check your assumptions.