← All articles

Anthropic's 60-Day Deprecation Cadence: A Migration Playbook for Multi-Provider Routing Teams

Anthropic retires Claude models on a roughly 60-day cadence after deprecation notice. This playbook covers the lifecycle timeline from Opus 3 through Opus 4.8, concrete migration code diffs, fallback routing strategies, and a checklist for teams running multi-provider stacks.

· TheRouter

Anthropic's 60-Day Deprecation Cadence: A Migration Playbook for Multi-Provider Routing Teams

Anthropic guarantees at least 60 days between deprecation notice and model retirement for publicly released models. In practice, the cadence is tighter than most teams expect — eight Claude models retired in the twelve months ending May 2026, and more are queued. If your stack touches Anthropic models, you need a repeatable migration process, not a one-off scramble each time.

This guide maps out the lifecycle pattern, documents every major deprecation event with dates and sources, and gives you the code-level playbook: inventory pinned model IDs, configure fallback, shadow-test replacements, and roll back if quality regresses.

We route OpenAI-compatible requests through configured providers and support provider/model routing and fallback where the live product path supports it. We do not claim zero downtime, universal model support, or guaranteed cheapest pricing. Every date and pricing figure below is sourced from Anthropic's official documentation at retrieval time.

30-second answer

  • Anthropic provides at least 60 days' notice before model retirement (Model deprecations, retrieved 2026-06-16).
  • The lifecycle stages are: Active → Legacy → Deprecated → Retired. Once deprecated, the model gets a firm retirement date; once retired, API requests return errors.
  • Currently deprecated: claude-opus-4-1-20250805 — deprecated June 5, 2026, retiring August 5, 2026 (50 days from now). Recommended replacement: claude-opus-4-8.
  • Just retired (June 15, 2026): claude-opus-4-20250514 and claude-sonnet-4-20250514. If you still have these pinned, your calls are already failing.
  • Anthropic has committed to preserving the weights of all publicly released models for the lifetime of the company (Commitments on model deprecation and preservation, November 2025).

Claude model lifecycle timeline

The following table compiles every significant Claude deprecation event from public Anthropic documentation. All dates are from Anthropic's model deprecations page and endoflife.date/claude, cross-referenced and retrieved 2026-06-16.

ModelReleasedDeprecatedRetiredDays (dep → ret)Replacement
Claude 2.0 / 2.1Jul–Nov 2023Jan 21, 2025Jul 21, 2025181claude-opus-4-8
Claude Sonnet 3Mar 4, 2024Jan 21, 2025Jul 21, 2025181claude-sonnet-4-6
Claude Opus 3Mar 4, 2024Jun 30, 2025Jan 5, 2026189claude-opus-4-8
Claude Sonnet 3.5 (Jun 2024)Jun 21, 2024Aug 13, 2025Oct 28, 202576claude-sonnet-4-6
Claude Sonnet 3.5 (Oct 2024)Oct 22, 2024Aug 13, 2025Oct 28, 202576claude-sonnet-4-6
Claude Haiku 3.5Oct 22, 2024Dec 19, 2025Feb 19, 202662claude-haiku-4-5
Claude Sonnet 3.7Feb 24, 2025Oct 28, 2025Feb 19, 2026114claude-sonnet-4-6
Claude Haiku 3Mar 13, 2024Feb 19, 2026Apr 20, 202660claude-haiku-4-5
Claude Opus 4May 22, 2025Apr 14, 2026Jun 15, 202662claude-opus-4-8
Claude Sonnet 4May 22, 2025Apr 14, 2026Jun 15, 202662claude-sonnet-4-6
Claude Opus 4.1Aug 5, 2025Jun 5, 2026Aug 5, 202661claude-opus-4-8

Pattern: Recent deprecations converge on 60–62 days between notice and retirement. The earlier Claude 2/3 era had longer windows (180+ days), but since the Claude 3.5 generation, Anthropic has standardized around the minimum 60-day commitment.

What makes Anthropic's cadence different

Several factors make Anthropic's deprecation cadence operationally demanding:

  1. Rapid release cycle. Anthropic shipped Opus 4, 4.1, 4.5, 4.6, 4.7, and 4.8 within 12 months — roughly one Opus release every 2 months. Each new release eventually triggers a deprecation for the model 2–3 generations behind it.

  2. Tokenizer breaks. Starting with Claude Opus 4.7, Anthropic introduced a new tokenizer (used by all subsequent models including Fable 5). The same text produces roughly 30% more tokens under the new tokenizer (Pricing, retrieved 2026-06-16). This means migration is not just a model-ID swap — your cost baselines shift.

  3. Pricing tier changes. Opus 4/4.1 were priced at $15/$75 per MTok (input/output). Opus 4.5–4.8 dropped to $5/$25. Migrating from 4.1 to 4.8 is a cost reduction — but the tokenizer inflation partially offsets it. Net cost change depends on your workload shape.

  4. Platform divergence. Anthropic's deprecation dates apply to the Claude API, Claude Platform on AWS, and Microsoft Foundry. Amazon Bedrock and Vertex AI set their own schedules. You may need to track two timelines for the same model.

  5. No evergreen alias guarantees. Starting with the 4.6 generation, dateless model IDs (like claude-opus-4-6) are pinned snapshots, not rolling pointers. You cannot rely on the ID to auto-migrate.

Before/after code diff: pinned model ID → routing alias with fallback

The riskiest pattern is hard-coding a dated model ID deep in your codebase. When that model retires, every call fails. The safer pattern: use a routing layer that maps a logical alias to a concrete model ID, with a fallback chain.

Fragile: pinned model ID

from openai import OpenAI

client = OpenAI(
    base_url="https://api.anthropic.com/v1",
    api_key="<ANTHROPIC_API_KEY>",
)

# This will break on August 5, 2026
response = client.chat.completions.create(
    model="claude-opus-4-1-20250805",
    messages=[{"role": "user", "content": "Summarize this quarter's revenue trends."}],
)

Resilient: routing alias with fallback

from openai import OpenAI

client = OpenAI(
    base_url="https://api.therouter.ai/v1",
    api_key="<THEROUTER_API_KEY>",
)

# Routes to configured Anthropic provider; fallback chain handles deprecation
response = client.chat.completions.create(
    model="anthropic/claude-opus-4.8",
    messages=[{"role": "user", "content": "Summarize this quarter's revenue trends."}],
)

With a routing layer, when Anthropic deprecates Opus 4.8 in the future, you update the routing config — not every callsite in your application.

TypeScript equivalent

import OpenAI from 'openai';

// Before: pinned, fragile
const fragile = new OpenAI({
  baseURL: 'https://api.anthropic.com/v1',
  apiKey: '<ANTHROPIC_API_KEY>',
});

// After: routed, resilient
const resilient = new OpenAI({
  baseURL: 'https://api.therouter.ai/v1',
  apiKey: '<THEROUTER_API_KEY>',
});

const response = await resilient.chat.completions.create({
  model: 'anthropic/claude-opus-4.8',
  messages: [{ role: 'user', content: 'Summarize this quarter\'s revenue trends.' }],
});

Cross-provider fallback: Claude → DeepSeek / Qwen

Sometimes the migration isn't Claude-to-Claude. If Anthropic's pricing or availability doesn't fit, cross-provider fallback is a valid strategy.

ScenarioPrimaryFallbackNotes
General reasoninganthropic/claude-opus-4.8deepseek/deepseek-v4-proDifferent tokenizer; test quality on your evals
Coding agentsanthropic/claude-opus-4.8dashscope/qwen3-coderQwen3 Coder excels at code generation; different pricing tier
Cost ceilinganthropic/claude-sonnet-4-6deepseek/deepseek-v4-flashDeepSeek V4 Flash is aggressively priced
China-accessibleanthropic/claude-opus-4.8dashscope/qwen3.7-maxDashScope is directly accessible in mainland China

Cross-provider fallback requires testing. Models have different strengths, context windows, and output styles. Run your eval suite against each candidate before promoting a cross-provider fallback to production.

For more on configuring fallback chains, see our LLM API fallback routing guide.

Migration checklist

Use this checklist every time Anthropic announces a deprecation:

  • Inventory pinned model IDs. Search your codebase, environment variables, and config files for the deprecated model ID. Use Anthropic's usage export (CSV) to find API keys still hitting the deprecated model.
  • Check platform dates. Confirm the retirement date for your specific platform (Claude API vs. Bedrock vs. Vertex AI). They may differ.
  • Test the replacement. Run your eval suite against the recommended replacement model. Check output quality, latency, and token count (especially if crossing a tokenizer boundary like Opus 4.1 → 4.8).
  • Re-baseline costs. The new tokenizer on Opus 4.7+ inflates token counts ~30% for the same text. Even though per-token price dropped ($15→$5 input), your effective cost per request depends on workload shape.
  • Configure fallback. Set up a fallback chain so that if the primary model returns model_not_found (which happens the instant a model retires), traffic automatically routes to the replacement.
  • Shadow traffic. If your volume justifies it, run shadow requests to the replacement model for 1–2 weeks before cutover. Compare outputs side-by-side.
  • Update client code. Swap the model ID in your application. If you're using a routing layer, update the routing config instead.
  • Define rollback path. If the replacement model regresses on your specific workload, what do you fall back to? For Claude-to-Claude, the next-latest Opus. For cross-provider, your tested alternative.
  • Monitor post-migration. Watch error rates, latency p99, and output quality metrics for the first 48 hours after cutover.

Handling the Opus 4.1 retirement (August 5, 2026)

This is the active deprecation. Here's what you need to know:

  • Deprecated model: claude-opus-4-1-20250805
  • Retirement date: August 5, 2026 (50 days from now)
  • Recommended replacement: claude-opus-4-8 (source)
  • Pricing change: Opus 4.1 was $15/$75 per MTok. Opus 4.8 is $5/$25 per MTok. Per-token cost drops ~67%.
  • Tokenizer change: Opus 4.8 uses the new tokenizer (introduced with Opus 4.7). Same text → ~30% more tokens. Net cost per request typically drops, but measure on your workload.
  • Context window: Both models support 1M tokens. Opus 4.8 has 128K max output vs. Opus 4.1's 64K.
  • Extended thinking: Opus 4.1 supported extended thinking. Opus 4.8 uses adaptive thinking instead (always on, no budget_tokens parameter). If your code sets thinking: {type: "enabled", budget_tokens: N}, you must remove it.

Minimal migration diff

# Before
model = "claude-opus-4-1-20250805"

# After
model = "claude-opus-4-8"
# Also remove any thinking={type: "enabled", budget_tokens: N} configuration
# Opus 4.8 uses adaptive thinking — no configuration needed

Fallback behavior on model retirement

When a Claude model retires, the API returns an error for requests targeting that model ID. Tools like Claude Code have implemented --fallback-model flags that auto-switch on model_not_found errors — a pattern worth adopting in your own application layer.

The operational pattern:

  1. Primary model request fails with model_not_found or equivalent error.
  2. Client-side or routing-layer logic catches the error.
  3. Retry with the pre-configured fallback model.
  4. Log the fallback event for visibility.

This is not a substitute for migration — you still need to update your pinned model ID before retirement. But it provides a safety net for the transition window.

Cost comparison: Opus 4.1 → Opus 4.8

FactorOpus 4.1Opus 4.8Change
Input price$15 / MTok$5 / MTok−67%
Output price$75 / MTok$25 / MTok−67%
Cache hit price$1.50 / MTok$0.50 / MTok−67%
Token count (same text)Baseline~+30% (new tokenizer)+30%
Net cost per requestBaseline~55% lower (typical)Varies by workload

The 30% token inflation from the new tokenizer is more than offset by the 67% per-token price drop. Most workloads will see a net cost reduction. However, if your workload is heavily input-bound with long cached prompts, the cache-write cost increase ($6.25 for 5-min writes vs. $18.75 on Opus 4.1) could matter — run the numbers on your specific usage pattern.

Source: Anthropic Pricing, retrieved 2026-06-16.

Cross-provider deprecation context

Anthropic is not the only provider with aggressive deprecation timelines:

  • Aliyun Bailian sunset a wave of third-party model snapshots (DeepSeek V3, GLM, MiniMax, Moonshot) on 2026-07-08 — see our Bailian sunset migration guide.
  • Aliyun DashScope is retiring Qwen Turbo, VL, Coder Plus on 2026-07-13 — see our Qwen Turbo/VL/Coder Plus sunset guide.
  • Xiaomi MiMo V2 sunset June 18, 2026 with migration to V2.5.

The pattern across providers: model lifecycles are getting shorter, and teams running multi-provider stacks need to treat deprecation monitoring as an ongoing operational concern, not a one-time event.

Rollback path

If Opus 4.8 regresses on your workload:

  1. Claude-to-Claude: Fall back to claude-opus-4-7 (active, not sooner than April 16, 2027) or claude-opus-4-6 (active, not sooner than February 5, 2027). Both are at the same $5/$25 price point and use the same tokenizer.
  2. Cross-provider: Fall back to deepseek/deepseek-v4-pro or dashscope/qwen3.7-max. Different pricing, different capabilities — requires eval testing.
  3. Revert routing config: If using a routing layer, the rollback is a config change, not a code deploy.

Further reading

Help & contact