Lesson 2.4
Extended Thinking and Effort Control
How Claude's reasoning features work, how configuration has moved from fixed budgets to adaptive thinking and effort levels, and how to decide where thinking earns its cost and latency.
Extended thinking lets Claude reason before it answers, producing a chain of internal reasoning that improves performance on hard problems. It costs output tokens and adds latency, and configuring it has changed across model generations. The exam expects you to understand the mechanism, the current configuration model, and above all the judgement about where thinking belongs.
What thinking is
When thinking is enabled, the model generates reasoning content before its visible answer. In the API this appears as thinking blocks in the response, ahead of text or tool-use blocks. Reasoning tokens are billed as output tokens. Depending on model and settings, the content of thinking blocks may be returned as a summary or omitted entirely; the raw chain of thought is not exposed on current models. Display settings affect what you see, not what the model does or what you pay.
With tool use, thinking can be interleaved: the model reasons, calls a tool, reasons about the result, and calls again. This is what makes long agentic tasks tractable, and it is why thinking blocks must be handled correctly when you continue a conversation.
How configuration has evolved
| Generation | Mechanism | Architect's note |
|---|---|---|
| Earlier models | thinking: {type: "enabled", budget_tokens: N} with a fixed cap below max_tokens | Budget is a ceiling, not a target; too low a budget truncates reasoning |
| Recent models | thinking: {type: "adaptive"}; the model decides when and how much to think | Combine with an effort setting; fixed budgets deprecated or rejected |
| Newest tiers | Thinking on by default or always on; effort is the primary control | Attempts to disable may be rejected; check per-model docs |
The direction is clear: fewer hand-tuned token budgets, more delegation to the model, with effort as the operator's dial. Effort is set in the output configuration and ranges from low through medium and high to higher settings on models that support them. It controls how much the model thinks and how many tokens it spends overall, including how many tool calls it makes and how terse its responses are. Defaults differ by model; set effort explicitly in production rather than relying on the default.
Because exact parameter support differs by model and changes often, the Anthropic docs are the authority for which settings a given model accepts. Design your gateway so that thinking and effort are per-route configuration, not hard-coded.
Where thinking earns its cost
| Task type | Thinking value | Typical setting |
|---|---|---|
| Multi-step reasoning, maths, planning | High | Adaptive with high effort |
| Agentic coding, long tool-use chains | High | Adaptive; high or higher effort |
| Analysis with ambiguous evidence | Medium to high | Adaptive, medium to high |
| Classification, extraction, routing | Low | Low effort; smaller tier |
| Chat with simple questions | Low | Low effort for latency |
| High-volume, latency-sensitive routes | Low | Low effort, measured against evals |
Adaptive thinking helps because the model itself can spend little on easy inputs and more on hard ones within a route. But effort remains the lever that sets the overall posture, and tuning it per route against an eval set is the expected professional practice. Anthropic's guidance is that effort matters more on recent models than on earlier ones, and that lower effort on a capable model often matches a previous generation at full effort.
Handling thinking blocks in conversations
When you continue a conversation that includes tool use, pass the assistant's thinking blocks back unchanged along with the tool results. Do not edit, reorder or strip them; on current models, altering earlier turns can invalidate reasoning or be rejected. Thinking blocks are tied to the model that produced them, so switching models mid-conversation drops them. Keep your harness append-only and your conversation history exactly as returned.
Thinking, caching and effort changes
Changing the thinking configuration or the top-level effort between turns can invalidate cached conversation content on some models, because it changes how the conversation is rendered. Where per-message effort changes are supported, they avoid this; otherwise, decide effort per route up front and keep it constant within a conversation.
Budgets for agentic loops
Separate from thinking, some models support a task budget: a token allowance for the whole agentic task that the model is made aware of so it can pace itself and finish gracefully, rather than being cut off by max_tokens. It is advisory and token-denominated, unlike platform-enforced spend caps on managed sessions. Use it for long autonomous runs where graceful completion matters more than a hard ceiling.
Operational guidance
- Stream responses when thinking is enabled; long reasoning phases otherwise look like a hung request and may hit client timeouts.
- Display summarised thinking to internal users for debugging; usually hide it from end users and never treat it as an audit record of the model's actual reasoning.
- Log effort and thinking settings alongside tokens and quality so that you can attribute changes.
- Re-tune effort at every model migration; the levels are recalibrated between generations.
Exam focus
- Thinking produces reasoning before the answer, appears as thinking blocks, and is billed as output tokens; display settings do not change cost.
- Configuration has moved from fixed
budget_tokensto adaptive thinking plus an effort setting; on the newest tiers thinking may not be disableable. - Effort is tuned per route against evals; lower effort on a capable model is often preferable to a smaller model.
- Pass thinking blocks back unchanged in tool-use conversations; keep history append-only; blocks are model-specific.
- Thinking adds latency, so stream; it benefits reasoning-heavy tasks and adds little to classification or extraction.
- Task budgets pace an agentic loop and are advisory;
max_tokensis a hard per-response cap.
Check yourself
5 questions
1.A team upgrades a reasoning-heavy service from an older model to a current one and keeps their existing thinking configuration, which specifies a fixed thinking token budget. Requests now fail with a 400 error. What should they change?
2.An application has three routes: a high-volume FAQ chat, a nightly multi-step data reconciliation agent, and an interactive code refactoring assistant. The team currently uses one global effort setting. How should the architect advise them to tune effort?
3.A product team streams responses from a current model with adaptive thinking enabled. Users see a long silent pause before any text appears, and the thinking blocks the client receives are empty. The team wants to show a readable 'what the model is considering' panel. What should they do?
4.A team's agent loop stores only the text and tool-use blocks of each assistant turn, dropping thinking blocks to 'save space', then sends tool results back to continue the turn. Since enabling thinking, they see errors and degraded reasoning during multi-step tool use. What is the MOST likely cause?
5.An operations agent calls several tools in sequence to diagnose incidents. The team notices it sometimes acts on a tool result without apparently evaluating whether the result makes sense, and asks how to get the model to reflect between tool calls. Which statement is CORRECT?
