cd /news/artificial-intelligence/claude-sonnet-5-effort-levels-what-a… · home topics artificial-intelligence article
[ARTICLE · art-77646] src=byteiota.com ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

Claude Sonnet 5 Effort Levels: What Adaptive Thinking Costs

Claude Sonnet 5, shipped June 30 by Anthropic, introduces a five-position effort dial that controls thinking tokens per request, with adaptive thinking enabled by default and a new tokenizer producing 30% more tokens than Sonnet 4.6, creating a hidden cost multiplier for developers. Standard pricing takes effect September 1, and developers must explicitly opt out of thinking via `thinking={"type": "disabled"}` on the Anthropic API, while Amazon Bedrock users cannot disable adaptive thinking on Sonnet 5. At `xhigh` effort, Sonnet 5 can cost more than Opus 4.8 at high effort for the same quality, and adaptive thinking should be disabled for structured extraction tasks to avoid truncated JSON output.

read4 min views1 publishedJul 28, 2026
Claude Sonnet 5 Effort Levels: What Adaptive Thinking Costs
Image: Byteiota (auto-discovered)

Claude Sonnet 5 shipped June 30 with a five-position effort dial that controls how many thinking tokens the model burns per request. The default is high

. Most developers haven’t touched it. Pair that with a new tokenizer producing 30% more tokens than Sonnet 4.6, and you have a hidden cost multiplier running inside every agent loop you’ve deployed. Standard pricing hits September 1. Here’s what the dial does and how to set it before the bill arrives.

What Adaptive Thinking Actually Is #

Extended thinking on Sonnet 4.6 was opt-in. You passed thinking: {type: "enabled", budget_tokens: N}

to enable it. On Sonnet 5, that parameter is gone — it returns a 400 error. In its place is adaptive thinking, which is on by default for every request.

The behavioral change catches teams off guard: on Sonnet 4.6, omitting the thinking

field meant no thinking. On Sonnet 5, omitting it enables adaptive thinking. If your integration never used extended thinking, you’re getting it now unless you explicitly opt out.

One thing worth knowing about the display

setting: it controls what comes back in the response, not what gets billed. Setting display

to "omitted"

— the new default — hides thinking output but does not stop thinking from happening. You pay for it either way. To actually disable thinking, pass thinking={"type": "disabled"}

. Note: that option exists on the Anthropic API. On Amazon Bedrock, you cannot disable adaptive thinking on Sonnet 5.

The Five Effort Levels #

Effort is a behavioral signal, not a hard token cap. The model uses your setting to calibrate how much to think, but it retains discretion. Here’s the practical breakdown:

Level Token Usage When to Use
low Minimal Chat, simple classification, latency-sensitive high-volume work
medium Moderate Cost-sensitive tasks; roughly Sonnet 4.6 at high effort
high Balanced (default) Complex reasoning, coding, agentic tasks
max Heavy Extended autonomous work, multi-step planning
xhigh Maximum Hardest coding and agentic tasks

The effort parameter lives in output_config

. You can set it per request — every call can carry a different effort level. That’s the point: a classification task and a debugging session shouldn’t share the same setting. See Anthropic’s effort documentation for the full parameter reference.

response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=16000,
    output_config={"effort": "medium"},
    messages=[{"role": "user", "content": "..."}]
)

The xhigh Trap #

At xhigh

effort, Sonnet 5 performs roughly at Opus 4.8’s high-effort level on agentic benchmarks. Benchmark data from independent evaluators puts them close on OSWorld and BrowseComp. But at xhigh

, Sonnet 5 can cost more than Opus 4.8 at high effort for the same quality output.

The rule follows directly: if you need Opus 4.8-class quality, use Opus 4.8. Don’t escalate Sonnet to its ceiling — you end up paying flagship prices for a model that isn’t the flagship.

Turn Thinking Off for Structured Extraction #

Adaptive thinking and structured extraction don’t mix well. For tasks where you’re asking the model to read input and emit a fixed JSON schema — extraction, form filling, strict classification — thinking competes with output tokens within the max_tokens

budget. The model thinks first, uses up tokens, then clips the JSON output. You get a truncated or empty result with no obvious error message. This edge case is well-documented but easy to miss during migration.

The fix is one line:

response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=2048,
    thinking={"type": "disabled"},
    messages=[{"role": "user", "content": "Extract these fields as JSON: ..."}]
)

There’s no reasoning to do in a pure extraction task. Disabling thinking here doesn’t cost you quality — it prevents a silent failure mode.

The September Cost Math #

Introductory API pricing through August 31: $2 input / $10 output per million tokens. Standard pricing starting September 1: $3 input / $15 output — a 50% increase on both sides.

Layer that on top of the tokenizer change. The same prompt that cost X on Sonnet 4.6 uses 30% more tokens on Sonnet 5. Independent benchmark data shows an average task costs $2.29 on Sonnet 5 versus $1.20 on Sonnet 4.6, at current introductory prices. After September 1, untuned agent loops built on Sonnet 5 can run 2–3x what the same workload cost on 4.6.

The introductory price is masking that. Most teams won’t notice until the September bill arrives.

Three Settings to Check Before September 1 #

First: audit every integration running Sonnet 5 and set output_config={"effort": ...}

explicitly. Don’t accept the default high

for workloads that don’t need it. Classify tasks into simple (use low

or medium

), standard (use high

), and exceptional (use max

or xhigh

).

Second: add thinking={"type": "disabled"}

to any extraction or strict structured output workflow. The adaptive thinking default is not appropriate for those tasks.

Third: re-run token counts against Sonnet 5 before you finalize max_tokens

limits. Counts from Sonnet 4.6 don’t transfer — the new tokenizer changes the math. A max_tokens

limit tuned for 4.6 may truncate equivalent output on Sonnet 5. The adaptive thinking documentation covers how to leave adequate headroom for thinking tokens.

The effort dial is there precisely because different tasks need different amounts of compute. The default is a reasonable starting point for general use — but it’s not the right answer for everything, and it costs more starting in 34 days.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @claude sonnet 5 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/claude-sonnet-5-effo…] indexed:0 read:4min 2026-07-28 ·