●Breaking
Claude Opus 5: Disabling Thinking with `xhigh`/`max` Effort Now Returns 400
What changed
On Claude Opus 4.8,
thinking: {"type": "disabled"} was accepted at any effort level. On Claude Opus 5, passing thinking: {"type": "disabled"} with effort xhigh or max returns a 400 error immediately.TL;DR
Claude Opus 5 hard-rejects requests that disable thinking at effort
xhigh or max — a breaking change from Opus 4.8 that fails immediately on migration.Developer signal
Two paths to resolve before migrating to Opus 5: (1) Keep thinking disabled → lower the effort level.
thinking: {"type": "disabled"} is still valid at low, medium, and high. Set output_config: {"effort": "high"} if you need the highest allowed effort with thinking off. (2) Keep the effort level → remove the thinking field. Opus 5 defaults to adaptive thinking, so removing the thinking field achieves the same result as {"type": "adaptive"} and works at any effort level. Separately, because thinking is now on by default, your existing max_tokens settings — sized for response-only output on Opus 4.8 — may now be too tight. Thinking tokens count against max_tokens. Run test requests and watch for stop_reason: "max_tokens" when you didn't expect truncation. Anthropic recommends 64,000+ max_tokens for xhigh/max effort sessions. Also watch for model behavior changes that require no code changes but affect output: Opus 5 writes longer default responses, narrates progress in agentic sessions more often, delegates to subagents more readily, and self-verifies — remove any existing "include a final verification step" or "use a subagent to verify" instructions; they cause over-verification on Opus 5.Affects you ifYou call Claude Opus 5 with
thinking: {"type": "disabled"} and effort xhigh or max; or you migrate from Opus 4.8 with max_tokens values tuned for non-thinking output.EffortModerate — code review required; the 400 error surfaces immediately on first test request.Anthropic Platform Release Notes | Date: July 24, 2026 | Link: https://platform.claude.com/docs/en/release-notes/overviewhttps://platform.claude.com/docs/en/about-claude/models/whats-new-opus-5#behavior-changes