{"slug": "anthropic-retires-claude-sonnet-4-5-on-30-november-2026-what-to-change", "title": "Anthropic retires claude-sonnet-4-5 on 30 November 2026: what to change", "summary": "Anthropic will retire claude-sonnet-4-5, including its dated version claude-sonnet-4-5-20250929, from the API on 30 November 2026, after which calls to the model will fail, with claude-sonnet-5-5 named as the recommended replacement. The developer behind Driftline, a model-retirement tracking service, notes that swapping the model name is not sufficient because the new model can respond differently, and recommends running 10 to 20 real prompts from logs against both models before the cutoff while the old model still answers.", "body_md": "On 30 November 2026, Anthropic removes claude-sonnet-4-5 from the API, together with its dated version. From that day, API calls to it fail. Anthropic's recommended replacement (as of 13 November 2026): claude-sonnet-5-5.\n\nAnthropic lists this model on its [deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations). The dates and replacements on this page come from Driftline's registry, which is checked against that page several times a day, so they stay current if Anthropic changes them.\n\n`claude-sonnet-4-5` is the short name for `claude-sonnet-4-5-20250929`, so both stop working.\n\n| Model | Replacement | Moving to it | \n|---|---|---|\n| [`claude-sonnet-4-5-20250929`](https://aidriftline.com/models/claude-sonnet-4-5-20250929/) | `claude-sonnet-5-5` | Parameter changes | \n\nFor this model, changing the name isn't the whole job:\n\nRun this in the root of your repository. No install, account or API key; it lists every OpenAI, Anthropic and Google model ID it finds, with file, line, retirement date and replacement:\n\n```\nnpx -y @aidriftline/driftline .\n```\n\nA plain search works too:\n\n```\ngrep -rnE '\"(claude-sonnet-4-5-20250929)\"' .\n```\n\nIt misses model names set outside the code: environment variables, deployment settings, values stored in a database, and defaults inside SDKs or agent frameworks you never configured.\n\nA new model answers the same prompt differently: format, length, tone, and whether JSON still parses. Take 10 to 20 real prompts from your logs, run each on the old model and the replacement, and compare. Do it while the old model still answers; after the date there is nothing left to compare against.\n\n[Driftline Pro](https://aidriftline.com/#drift) does this in your GitHub Actions: it runs the prompts your app sends on the current model and the replacement, and shows what changed in the pull request.\n\nThe free [Driftline GitHub Action](https://aidriftline.com/#install) flags retired and soon-to-retire model IDs on every pull request, so the next retirement doesn't come as a surprise.\n\nNo. Anthropic removes the model from the API on that day, and requests to it return an error.\n\n*I build [Driftline](https://aidriftline.com), which tracks these retirement dates. The current list, with one page per model: [aidriftline.com/models](https://aidriftline.com/models/).*", "url": "https://wpnews.pro/news/anthropic-retires-claude-sonnet-4-5-on-30-november-2026-what-to-change", "canonical_source": "https://dev.to/aidriftline/anthropic-retires-claude-sonnet-4-5-on-30-november-2026-what-to-change-1e11", "published_at": "2026-11-13 22:11:49+00:00", "updated_at": "2026-11-13 22:21:22.255233+00:00", "lang": "en", "topics": ["large-language-models", "ai-tools", "developer-tools", "ai-products"], "entities": ["Anthropic", "claude-sonnet-4-5", "claude-sonnet-5-5", "Driftline", "GitHub Actions"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/anthropic-retires-claude-sonnet-4-5-on-30-november-2026-what-to-change", "markdown": "https://wpnews.pro/news/anthropic-retires-claude-sonnet-4-5-on-30-november-2026-what-to-change.md", "text": "https://wpnews.pro/news/anthropic-retires-claude-sonnet-4-5-on-30-november-2026-what-to-change.txt", "jsonld": "https://wpnews.pro/news/anthropic-retires-claude-sonnet-4-5-on-30-november-2026-what-to-change.jsonld"}}