Claude Platform on AWS in Practice

Extended Thinking on Claude Platform on AWS

Letting the model reason before it answers improves hard tasks — and bills every reasoning token as output. Here is how thinking works on Claude Platform on AWS, and which of the two mechanisms your model actually uses.

Claude 3P 101 · Updated July 2026 · Unofficial guide

"Thinking" is Claude's ability to work through a problem internally — exploring steps, checking arithmetic, weighing alternatives — before producing its visible answer. On Claude Platform on AWS, the Anthropic-operated deployment behind AWS IAM and Marketplace billing, thinking works exactly as it does on the first-party Claude API: same request parameters, same models, same behavior, since the platform exposes the Claude API surface directly. Extended and adaptive thinking are also available on Bedrock, Vertex AI, and Foundry, so this is not a differentiating feature — but the details below save real money and confusion wherever you run.

Two mechanisms — and your model determines which

An important correction to how many teams talk about this: "the extended thinking parameter" is not one universal switch. There are two generations of the feature, and current models split between them.

Manual extended thinking is the older mechanism: you set thinking: {"type": "enabled", "budget_tokens": N} and the model may spend up to that budget reasoning. It is supported on models such as Claude Haiku 4.5, Claude Opus 4.6, and Claude Sonnet 4.6.

Adaptive thinking is the current mechanism on the newest models: the model decides how much to reason, steered by an effort setting rather than a fixed token budget. On Claude Opus 4.8 and Claude Sonnet 5, sending the manual form returns a 400 error — use thinking: {"type": "adaptive"} with an effort level instead (effort defaults to high on both via the API). On Claude Fable 5, adaptive thinking is always on and cannot be disabled. Thinking content is omitted from responses by default on these models; opt in to summaries with display: "summarized".

from anthropic import AnthropicAWS

client = AnthropicAWS()  # AWS_REGION + ANTHROPIC_AWS_WORKSPACE_ID set

# Manual extended thinking — older models (e.g. Haiku 4.5, Opus 4.6)
response = client.messages.create(
    model="claude-haiku-4-5",
    max_tokens=8000,
    thinking={"type": "enabled", "budget_tokens": 4000},
    messages=[{"role": "user",
               "content": "Reconcile these two ledgers step by step: ..."}],
)

What deeper reasoning costs

Thinking tokens are billed as output tokens — the expensive kind ($25 per million on Opus 4.8, $15 standard on Sonnet 5, $5 on Haiku 4.5). Three accounting rules matter. First, the thinking budget is a subset of max_tokens, so a request with budget_tokens: 4000 and max_tokens: 8000 leaves at most 4,000 tokens for the visible answer. Second, thinking tokens count toward your rate limits. Third, everything counts toward the context window, including generated thinking. There is also a multi-turn subtlety: on Opus 4.5-and-later Opus models, Sonnet 4.6+, and Fable 5, previous thinking blocks are preserved by default and re-billed as input tokens on subsequent turns, while earlier Opus/Sonnet models and all Haiku models strip them automatically. And when you post tool results, you must return the accompanying thinking block unmodified — the API verifies it cryptographically and rejects altered blocks.

Which workloads benefit

Deeper reasoning pays for itself where the failure mode of a fast answer is an expensively wrong answer: multi-step quantitative work, complex code debugging, contract or policy analysis with interacting clauses, and agentic tasks that plan several moves ahead. It is wasted spend on retrieval-style questions, classification, extraction, and summarization — tasks where the model's first pass is already reliable. A sensible enterprise default: run high-volume simple traffic without thinking (or at low effort), and reserve generous budgets or high effort for the workflows where you have observed reasoning failures. Because thinking cost scales with output pricing, also revisit model choice: Haiku 4.5 with a thinking budget is often cheaper than a larger model without one for mid-difficulty tasks — measure on your own workload.

Migration note: if you move code between model generations, thinking parameters are the most common breakage — manual budgets 400 on Opus 4.8/Sonnet 5, thinking: {"type": "disabled"} errors on Fable 5. Check the migration guide before switching model strings.

Where to go next

See thinking budgets for tuning guidance and prompt caching on Claude Platform on AWS for the complementary cost lever. Bedrock users have the same capability via extended thinking on Bedrock.

Sources