Skip to main content

What’s New

Claude Opus 5 ships as anthropic/claude-opus-5, with a fast-mode sibling at anthropic/claude-opus-5-fast. Three changes matter for migration:
  1. Reasoning is on by default — a first for Opus-family models, following the default Sonnet 5 introduced
  2. Disabling reasoning is restricted by effort level — allowed at high or lower; xhigh and max require reasoning to stay on
  3. Mid-conversation tool changes (beta) — add and remove tools between turns without invalidating the prompt cache, via OpenRouter’s Messages API only

Reasoning On by Default

On every Opus model before Opus 5, reasoning was off unless you explicitly turned it on. On Opus 5 — like Sonnet 5 before it — requests that don’t configure reasoning run with adaptive thinking enabled. If your integration assumes non-reasoning responses — latency budgets, output parsing that doesn’t handle reasoning blocks, cost models — either handle reasoning output or disable it explicitly:
Like Sonnet 5, Opus 5 supports only adaptive thinking: token budgets (reasoning.max_tokens in Chat Completions, thinking.budget_tokens in Messages) are ignored.

Effort Restrictions When Reasoning Is Disabled

Anthropic only allows disabling thinking at effort levels up to and including high. Combining disabled reasoning with xhigh or max effort returns a 400 from Anthropic:
The same restriction applies on the Messages API with thinking: { "type": "disabled" } and output_config.effort. To migrate: keep reasoning enabled at xhigh/max, or lower effort to high or below.

Mid-Conversation Tool Changes (Beta)

Opus 5 supports changing the available tool set between turns without invalidating the prompt cache, using system-role content blocks:
  • tool_addition — surface a tool declared in tools[] with defer_loading: true
  • tool_removal — remove a tool by name (the block must sit at the end of messages or immediately before an assistant message)
Blocks reference a tool by name from the request’s tools[] — individual MCP tools and whole MCP toolsets can also be referenced — so the tools[] array itself never changes and the cached prefix stays intact.
Model support: Claude Opus 5, Claude Opus 4.8 (including their fast variants), and Claude Fable 5. Not supported on Claude Sonnet 5 or models older than Claude Opus 4.8 — note this differs from mid-conversation system messages, which Sonnet 5 does support. As of launch, Amazon Bedrock supports tool changes on Claude Opus 5 only.
To change a tool’s definition, remove the old tool with tool_removal, then send the updated definition in tools[] on the next request.
This feature is only supported on OpenRouter’s Messages API (/api/v1/messages) — the Chat Completions API has no representation for these blocks. You do not need to send the anthropic-beta: mid-conversation-tool-changes-2026-07-01 header: OpenRouter detects requests that use tool changes and attaches the beta for you, and routes those requests only to providers that support it.

Fast Mode

Like Opus 4.6–4.8, Opus 5 has a fast-mode sibling with up to 2.5x faster output at premium pricing. Request it either way:
  1. Send speed: "fast" with anthropic/claude-opus-5 — OpenRouter reroutes to anthropic/claude-opus-5-fast
  2. Call anthropic/claude-opus-5-fast directly
See Fast Mode for details.

Migration Checklist

  1. Swap the slug to anthropic/claude-opus-5. Requests that don’t configure reasoning now run with reasoning on — verify your response handling and latency/cost assumptions, or disable reasoning explicitly.
  2. If you disable reasoning with xhigh/max effort, either re-enable reasoning or lower effort to high or below.
  3. If you manage large tool sets on the Messages API, adopt defer_loading + tool_addition/tool_removal to keep the prompt cache warm across tool-set changes.

Breaking Changes

Resources