AI Codex
Models & Pricingupdate

Claude Opus 5: thinking on by default, and effort becomes the dial that matters

In brief

Anthropic launched Claude Opus 5 on July 24, 2026 at $5/$25 per million tokens — the same price as Opus 4.8. Thinking is now on by default, the effort parameter is the main control you tune, and there is exactly one breaking change: disabling thinking at xhigh or max effort returns a 400. Here's what changed and what to do about it.

Contents

Sign in to save

Claude Opus 5 (claude-opus-5) launched on July 24, 2026. It replaces Claude Opus 4.8 as Anthropic's flagship model at the same price: $5 per million input tokens, $25 per million output tokens.

The specs:

Claude Opus 5
Model ID claude-opus-5
Context window 1M tokens (both default and maximum)
Max output 128k tokens
Thinking On by default
Effort levels low, medium, high (default), xhigh, max
Price $5 / $25 per MTok
Prompt cache minimum 512 tokens

Anthropic positions it as frontier intelligence at half the cost of Claude Fable 5, which runs $10/$50.

The migration is a one-line change, then two things to check

Swapping the model ID is the whole migration:

model = "claude-opus-4-8"  # Before
model = "claude-opus-5"    # After

Then check two behavior changes.

1. Thinking is on by default

On Opus 4.8, a request without a thinking field ran without thinking. On Opus 5, the same request runs with thinking — the model decides when and how much to think on each turn.

The practical consequence is about max_tokens. That parameter is a hard cap on total output, and thinking tokens count against it. If you tuned max_tokens tightly for a workload that ran without thinking on Opus 4.8, the model now has less room for its actual response.

Revisit max_tokens on any workload you migrate. If you were running at 4,000 and the answers suddenly truncate, that's why.

thinking: {"type": "adaptive"} still works and is equivalent to the default — no need to add it.

2. Disabling thinking now depends on effort (this is the breaking change)

On Opus 5, thinking: {"type": "disabled"} is only accepted when effort is high or below. Pair it with xhigh or max and you get a 400 error.

# 400 error on Opus 5
client.messages.create(
    model="claude-opus-5",
    max_tokens=8000,
    thinking={"type": "disabled"},
    output_config={"effort": "max"},   # ← xhigh or max + disabled = 400
    messages=[{"role": "user", "content": "..."}],
)

Two ways out. Either keep thinking disabled and drop effort to high or below, or keep the effort level and remove the thinking field entirely.

This is enforced per request, and it's generally available behavior — not a beta flag you can opt out of.

Anthropic also notes that with thinking disabled, Opus 5 sometimes writes a tool call into its text output instead of emitting a proper tool_use block, or leaks internal XML tags into the visible response. The recommended path is to leave thinking on and control cost with a lower effort level instead.

Effort is the parameter to actually tune

The headline claim about Opus 5 is that it converts extra effort into better results more reliably than any earlier Opus model. That makes the effort ladder the main thing you tune, rather than something you set once and forget.

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

The practical approach:

  • Start at high — that's the default.
  • Step down to medium or low where your evals show quality holds. Anthropic specifically calls out that low and medium effort on Opus 5 produce strong quality at a fraction of the tokens and latency. This is where the cost savings are.
  • Step up to xhigh or max for capability-critical work only.

One thing to get right: when running at xhigh or max, set a large max_tokens. The model needs room to think and act across subagents and tool calls, and a tight cap will cut it off mid-work. The docs use 64,000 in their example.

Behavior differences you'll notice without changing code

These aren't API changes, but they'll show up in output:

  • Responses run longer. Default user-facing answers and written deliverables are more verbose than Opus 4.8.
  • It narrates more. In agentic sessions, the model reports its progress to the user more often.
  • It delegates more readily. In multi-agent setups, it hands work to subagents sooner.
  • It verifies its own work unprompted. This one matters: if your prompts carry instructions like "include a final verification step" or "use a subagent to verify" from earlier models, remove them. On Opus 5 they cause over-verification — the model checks its work twice and burns tokens doing it.

That last point is the most common carried-over mistake when migrating. Grep your prompts for verification instructions before you ship.

Smaller wins

Prompt cache minimum dropped to 512 tokens, down from 1,024 on Opus 4.8. Prompts that were too short to cache before now create cache entries with no code changes on your side. If you have a lot of short system prompts, this is free savings.

Mid-conversation tool changes (beta). You can add or remove tools between turns while preserving the prompt cache, instead of resending a fixed tool list for the life of a session. Requires the mid-conversation-tool-changes-2026-07-01 beta header.

Default fallbacks mode. The fallbacks parameter now accepts "default", which applies Anthropic's recommended fallback models by refusal category rather than a list you maintain. Requires the server-side-fallback-2026-07-01 beta header. If you built fallback handling after the Fable 5 suspension, this replaces your hand-maintained model list.

Fast mode is available for Opus 5 on the Claude API only — not on Bedrock, Google Cloud, or Microsoft Foundry — at $10/$50 per MTok.

Where you can run it

Claude API, Amazon Bedrock (anthropic.claude-opus-5), Google Cloud, and Microsoft Foundry. Opus 4.8 remains available on all of them, so there's no forced migration deadline.

One thing that broke on the same day

Anthropic removed fast mode for Claude Opus 4.7 on July 24. Requests to claude-opus-4-7 with speed: "fast" now return an error — and unlike the Opus 4.6 removal a month earlier, they do not silently fall back to standard speed. Opus 4.7 itself still works at standard speed.

If you have anything still pinned to claude-opus-4-7 with fast mode on, it is failing right now. Migrate to Opus 5 or Opus 4.8.

What to do this week

  1. Change the model ID on one non-critical workload and run your evals.
  2. Check max_tokens — thinking now eats into it.
  3. Grep your prompts for "verify" instructions and delete the ones aimed at earlier models.
  4. If you disable thinking anywhere, confirm the effort level is high or below.
  5. Try dropping to medium effort on a workload where quality has headroom, and compare cost.

Related reading


Source: What's new in Claude Opus 5 and the Claude Platform release notes, July 24, 2026.

Related tools

Weekly brief

For people actually using Claude at work.

Each week: one thing Claude can do in your work that most people haven't figured out yet — plus the failure modes to avoid. No tutorials. No hype.

No spam. Unsubscribe anytime.

What to read next

All articles →