Claude Certified Architect – Foundations
Claude effort vs adaptive thinking: what each one controls
thinking decides whether Claude reasons in thinking blocks; effort decides how much work Claude puts into the whole response. With adaptive thinking, Claude chooses when and how deeply to think, and output_config.effort (low, medium, high, xhigh or max) is the recommended way to steer that depth.
Two separate controls
thinking: {"type": "adaptive"} lets Claude decide per request whether to think and for how long. adaptive is a thinking mode, not an effort level, so output_config: {"effort": "adaptive"} is invalid.
Effort applies to every output token: text, tool calls and thinking. Lower effort means less thinking, fewer and terser tool calls, and lower cost. It is a behavioural signal, not a strict token budget. Most models default to high; Claude Opus 5.5 and Claude Haiku 5.5 default to medium. Not every model that supports max supports xhigh, which is meant for agentic and coding tasks running over 30 minutes.
Which thinking settings each model accepts
On Claude Opus 5, Claude Sonnet 5 and later models, adaptive thinking is on with no configuration. On Claude Opus 4.8, 4.7, 4.6 and Claude Sonnet 4.6, thinking is off until you send thinking: {"type": "adaptive"}.
The older manual mode, thinking: {"type": "enabled", "budget_tokens": N}, returns a 400 on Claude Opus 5, Sonnet 5, Opus 4.8 and Opus 4.7. It still works but is deprecated on Claude Opus 4.6 and Sonnet 4.6, and it is the only option on Claude Opus 4.5, Sonnet 4.5 and Haiku 4.5, where adaptive returns a 400. On Claude Opus 5, thinking: {"type": "disabled"} works only at high effort or below.
Display, billing and caching
The display field sets what comes back. "summarized" returns a summary of the reasoning. "omitted", the default on the newest models, returns thinking blocks with an empty thinking field and a signature. Thinking tokens are billed as output either way, so omitting them speeds up time to first text token when streaming but does not cut cost.
The thinking configuration and effort level are part of the rendered prompt. Changing either at the top level between requests starts a new cache prefix, so keep them constant within a cached conversation.
Where the exam catches people
- Believing
adaptiveis an effort value: it is athinkingtype, and the effort levels arelow,medium,high,xhighandmax. - Believing
budget_tokensstill works on every model: it returns a 400 on Claude Opus 5, Sonnet 5, Opus 4.8 and Opus 4.7. - Believing
display: "omitted"saves money: the full thinking is still billed as output; the gain is latency. - Believing effort only affects thinking: it affects text and tool calls too, and works with thinking off.