On August 5, Anthropic permanently retires claude-opus-4-1-20250805. Requests to that model ID do not degrade or reroute — they return a hard error. The 60-day deprecation window Anthropic announced on June 5 ends Monday. If you haven’t audited your stack yet, you have the weekend.
What Actually Breaks
Any API call that passes "model": "claude-opus-4-1-20250805" to Anthropic’s /v1/messages endpoint on or after August 5 gets a 400 response. No silent upgrade. No automatic redirect. No fallback to the next available model. The request fails and your users see an error.
This is consistent with how Anthropic has handled every prior retirement. When Sonnet 4 and Opus 4 retired on June 15, calls to the old model IDs returned immediate failures with no grace period. Opus 4.1 will be no different.
Two Things to Fix, Not One
Most migration guides stop at “update your model string.” That’s not enough. There are two distinct breaking changes when moving to the recommended target, claude-opus-4-8-20260531:
1. The model ID. Change claude-opus-4-1-20250805 to claude-opus-4-8-20260531. The API format, authentication headers, and response structure are identical. Pricing stays at $5/$25 per million input/output tokens. See Anthropic’s official migration guide for the complete model ID reference.
2. The temperature gotcha. Starting with Opus 4.7, passing temperature, top_p, or top_k at any non-default value returns HTTP 400. A lot of teams set temperature=0.7 to “tune creativity” or temperature=0 for “determinism.” Both values break on 4.8. Remove these parameters entirely. Control output behavior through system prompts instead.
# Before (breaks on August 5 and beyond)
client.messages.create(
model="claude-opus-4-1-20250805",
temperature=0.7, # HTTP 400 on Opus 4.8
max_tokens=1024,
messages=[...]
)
# After
client.messages.create(
model="claude-opus-4-8-20260531",
max_tokens=1024, # temperature removed
messages=[...]
)
Where the Old Model ID Hides
Most outages from model deprecations don’t come from the code you’re actively maintaining. They come from the half-archived Lambda function, the LangChain config that hasn’t been touched since last year, or the .env.staging file nobody remembered updating. Check five places:
- Source code — direct API call sites and any wrapper abstractions
- Config files — YAML, JSON, TOML configs that store model IDs
- Environment variables —
.env,.env.production,.env.staging - CI/CD — GitHub Actions workflows, Dockerfiles, Jenkins scripts
- Framework configs — LangChain model init params, LlamaIndex LLM configs, LiteLLM proxy settings
Run this before you do anything else:
grep -r "opus-4-1" . --include="*.py" --include="*.ts" --include="*.json" --include="*.yml" --include="*.env"
The short string opus-4-1 catches the model ID across all formats. Don’t search for the full date-stamped string — you’ll miss configs that store it differently.
What You’re Upgrading To
Opus 4.8 isn’t a patch release. It scores 69.2% on SWE-bench Pro (versus 64.3% for 4.7), completes tasks in 15% fewer turns, and generates 35% fewer output tokens to reach the same result. In practice, it’s about four times less likely to let a code flaw pass without flagging it — which matters if you’re running it in an agentic loop.
If this forced migration is prompting a larger conversation about model choices, Claude Opus 5 (released July 24) runs at the same $5/$25 per million token price and roughly doubles Opus 4.8’s performance on Frontier-Bench. Check Anthropic’s model deprecations page for the current lifecycle status of every model.
A Note on Bedrock and Vertex
Amazon Bedrock and Google Vertex AI set their own retirement schedules independently of Anthropic’s direct API. The August 5 hard cutoff applies to calls routed through api.anthropic.com. If your production traffic goes through either cloud provider, check the Amazon Bedrock model lifecycle page directly — but don’t use that as a reason to delay.
Run the grep now. Fix the model ID. Drop the temperature parameters. Monday is closer than it looks.













