Disabling thinking above high effort on Opus 5
The request that gets rejected
An attempt to explicitly turn thinking off on Opus 5 succeeds at the default effort level and below, and then starts failing the moment the effort level is raised past the mid-to-high range. Nothing about the request shape changed — only the effort setting did — which makes this an easy one to trip over mid-tuning, when a team raises effort to chase better output quality and doesn't expect that same change to affect whether thinking can be disabled at all.
Why effort and the thinking toggle are linked on this model
Opus 5 defaults to thinking on, and the higher effort levels exist specifically to let the model reason longer and more carefully before answering — disabling thinking at those levels would directly contradict what the higher setting is for. So rather than accepting a config that asks for deep reasoning and no reasoning at the same time, a request combining a high effort level with thinking explicitly turned off is rejected outright. Below that threshold, where the model isn't being asked to reason especially hard anyway, turning thinking off is still permitted.
The fix, and the assumption behind it worth checking
If you need thinking off, cap the effort level below the threshold where it becomes mandatory —
which does mean giving up some of the reasoning depth the higher levels provide. If you need the
higher effort level for quality reasons, accept that thinking runs on this request and budget
max_tokens accordingly, since thinking output consumes part of that same budget. Teams migrating
from an older Opus generation, where thinking defaulted off and had to be explicitly requested,
are the ones most likely to hit this — the default flipped, and a config written to match the old
default now collides with the new one at higher effort.
Related
See budget_tokens is not supported on Opus 4.7 and later for the related migration trap in the same request block, and the effort & thinking cost estimator to see the cost impact of each effort level before deciding how high to push it.
Verified 2026-08-08 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.