← all posts
migration·Lukas Babaliauskas·Nov 10, 2026·17 min read

LLM model deprecation schedule 2026: OpenAI, Anthropic, Google

The 2026-2027 LLM deprecation schedule: every OpenAI, Anthropic and Google shutdown date, the replacements, notice periods and how to migrate.

As of November 6, 2026, the next major LLM model shutdowns are gemini-3.6-flash on Vertex AI and every o-series model on Azure OpenAI on November 19; Anthropic's claude-sonnet-4-5-20250929 and OpenAI's hosted Evals platform on November 30; OpenAI's gpt-5, gpt-5-mini, gpt-5-nano, gpt-5-pro, o3 and o3-pro on December 11; and OpenAI's gpt-4o, gpt-4o-mini, gpt-4.1 and gpt-4.1-mini snapshots on January 14, 2027. In between, on December 1, the Gemini API starts answering gemini-2.5-pro requests with gemini-3.8-flash and gemini-2.5-flash requests with gemini-3.5-flash-lite.

Three things about the schedule matter more than any single date:

  1. +The same model retires on different dates on different platforms. o3 shuts down on OpenAI's API on December 11 but on Azure OpenAI on November 19. Claude Sonnet 4.5 retires on Anthropic's API on November 30 but runs on AWS Bedrock until April 8, 2027.
  2. +Notice periods differ. OpenAI promises at least six months for generally available models, Anthropic at least 60 days, Vertex AI at least 45 days for its short-lived Gemini models, and the Gemini API's dates are only the earliest a model might go.
  3. +Not every deprecation fails. Some providers move your requests to a different model instead of rejecting them. The code keeps working, on a model nobody tested.

The rest of this post is the full calendar, what already retired this year, each provider's policy, and how to migrate before a date arrives. Every date comes from the provider's own page, read on November 6, 2026: OpenAI ↗, Anthropic ↗, the Gemini API ↗, Vertex AI ↗, Azure OpenAI ↗ and AWS Bedrock ↗. Providers revise these pages often, so check the page before you act on a row.

LLM model shutdowns from November 2026 to May 2027

DateProvider and surfaceWhat shuts downListed replacement
November 13, 2026AWS BedrockClaude 3 Haiku, Claude 3 Sonnet, Claude 3.5 Sonnet and Claude 3.7 Sonnet in the regions AWS lists for this date. Claude 3 Haiku and Claude 3 Sonnet in ca-central-1 follow on November 27None listed by AWS
November 15, 2026Azure OpenAIcodex-miniNone listed
November 17, 2026Gemini APILive and TTS previews: gemini-3.1-flash-live-preview, gemini-2.5-flash-native-audio-preview-12-2025, gemini-3.1-flash-tts-preview, gemini-2.5-flash-preview-tts, gemini-2.5-pro-preview-ttsgemini-3.8-live; gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts
November 19, 2026Vertex AIgemini-3.6-flashgemini-3.8-flash
November 19, 2026Azure OpenAIo1, o1-pro, o3, o3-pro, o3-mini, o4-mini, o3-deep-researchgpt-5.6-sol, or gpt-5.6-terra for o3-mini and o4-mini
November 30, 2026Anthropic API and Google Cloudclaude-sonnet-4-5-20250929claude-sonnet-5-5 (Anthropic's listing; Google names none)
November 30, 2026OpenAIThe Evals platform (dashboard and API), Agent Builder, and the v1/prompts APIPromptfoo for evals, the Agents SDK, prompts kept in your own code
December 1, 2026Gemini APIgemini-2.5-pro and gemini-2.5-flash stop answering as themselves: requests route to the replacement, billed at its ratesgemini-3.8-flash for Pro, gemini-3.5-flash-lite for Flash
December 1, 2026OpenAIgpt-image-1-mini, gpt-image-1.5, chatgpt-image-latestgpt-image-2.6-sunburst or gpt-image-2.6-flare
December 3, 2026Gemini APIgemini-omni-1.1-flash, routed to its successorgemini-omni-1.2-flash
December 11, 2026OpenAIgpt-5, gpt-5-mini, gpt-5-nano, gpt-5-pro, o3, o3-progpt-5.6-sol (reasoning.mode: pro for the pro models), gpt-5.6-terra for mini, gpt-5.6-luna for nano
December 13, 2026Vertex AIgemini-live-2.5-flash-native-audiogemini-3.8-live
December 15, 2026Azure OpenAIwhisper, tts, tts-hd. gpt-image-1.5 follows on December 16None listed
January 6, 2027OpenAItts-1, tts-1-hd, gpt-4o-mini-tts. Existing customers can also no longer start self-serve fine-tuning jobsgpt-realtime-2.1-mini
January 8, 2027AWS BedrockClaude Opus 4.1None listed by AWS
January 14, 2027OpenAIgpt-4o-2024-08-06, gpt-4o-2024-11-20, gpt-4o-mini-2024-07-18, gpt-4.1-2025-04-14, gpt-4.1-mini-2025-04-14gpt-6-luna
January 14, 2027Azure OpenAIgpt-4o version 2024-05-13gpt-5.1
January 20, 2027OpenAIgpt-realtime, gpt-audio, gpt-realtime-mini, gpt-audio-mini, the gpt-4o audio and realtime families, and gpt-4o-mini-transcribe-2025-03-20gpt-realtime-2.1, gpt-realtime-2.1-mini, gpt-audio-1.5; gpt-4o-mini-transcribe-2025-12-15
January 28, 2027Vertex AIgemini-3.7-flashgemini-3.8-flash
February 1, 2027OpenAIgpt-5.5-cyber-previewThe most capable cyber model available to you
February 9, 2027Azure OpenAIgpt-5 and gpt-5-nanoNone listed
February 26, 2027OpenAIwhisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-transcribe-diarize, and the /v1/audio/translations endpointgpt-transcribe or gpt-live-transcribe; v1/realtime/translations
March 15, 2027Gemini API and Vertex AIgemini-2.5-flash-imagegemini-3.1-flash-lite-image
April 1, 2027OpenAIgpt-5.1, gpt-5.3-codex, gpt-5.4-nanogpt-6-sol, or gpt-6-luna for nano
April 1, 2027Vertex AItext-embedding-004, text-embedding-005, text-multilingual-embedding-002, multimodalembedding@001None listed
April 7, 2027Azure OpenAIgpt-5-proNone listed
April 8, 2027AWS BedrockClaude Sonnet 4.5None listed by AWS
April 14, 2027Azure OpenAIgpt-4o versions 2024-08-06 and 2024-11-20, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nanogpt-5.1 for gpt-4o; none listed for the rest
May 7, 2027Gemini APIgemini-3.1-flash-lite (the earliest possible date)gemini-3.5-flash-lite

The OpenAI, Anthropic and Google rows are complete for this window. The Azure rows cover the chat and reasoning models; Azure's schedule lists more preview, audio, image and Codex dates. It was last updated on September 23, 2026, before OpenAI's October announcements, so expect its rows to move. "Not sooner than" dates are left out on purpose. Anthropic and Google list one for models that are still active, but it is a floor, not a schedule, and the Anthropic section explains why one that has already passed means nothing yet.

LLM models already retired in 2026

DateProviderRetired
January 5AnthropicClaude Opus 3 (claude-3-opus-20240229)
January 14Gemini APItext-embedding-004
February 17OpenAIchatgpt-4o-latest
February 19AnthropicClaude Sonnet 3.7, Claude Haiku 3.5
March 9Gemini APIgemini-3-pro-preview, which now points to gemini-3.1-pro-preview
March 26OpenAIgpt-4-0314, gpt-4-0125-preview and the gpt-4-turbo-preview alias
April 20AnthropicClaude Haiku 3
May 7OpenAIThe gpt-4o realtime and audio previews
May 12OpenAIDALL·E 2 and DALL·E 3, and the Realtime API beta
June 1Gemini API and Vertex AIgemini-2.0-flash, gemini-2.0-flash-lite
June 15AnthropicClaude Sonnet 4, Claude Opus 4
June 30Vertex AIImagen 3 and Imagen 4, Veo 2 and Veo 3.0
July 23OpenAIcomputer-use-preview, the search previews, gpt-5-chat-latest, gpt-5-codex through gpt-5.2-codex, o3-deep-research, o4-mini-deep-research
August 5AnthropicClaude Opus 4.1
August 26OpenAIThe Assistants API
September 24OpenAIThe Videos API and Sora 2
September 28OpenAIgpt-3.5-turbo-instruct, babbage-002, davinci-002
October 14AWS BedrockClaude Sonnet 4
October 20Vertex AIgemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite (Google's listed retirement date)
October 23OpenAIgpt-3.5-turbo, gpt-4, gpt-4-turbo, gpt-4o-2024-05-13, gpt-4.1-nano, o1, o1-pro, o3-mini, o4-mini, gpt-image-1

The October 23 batch is the one most likely to be hiding in old code: it took the original gpt-4, gpt-3.5-turbo, o1 and o4-mini off OpenAI's API, while Azure keeps the o-series until November 19.

OpenAI model deprecations: the policy

OpenAI's deprecations page ↗ defines three terms. A model is deprecated from the day the shutdown is announced, and every deprecated model has a shutdown date. At shutdown the model is no longer accessible. A legacy model gets no more updates and will be deprecated later.

The notice OpenAI commits to depends on the kind of model:

  • +Generally available models: at least six months.
  • +Specialized variants such as -chat-latest, Codex and deep-research models: at least three months.
  • +Models with "preview" in the name: much shorter notice, such as two weeks. OpenAI advises against building business-critical features on them.

Both minimums apply unless safety or compliance concerns force a faster timeline. Customers who are actively using a model get an email, and OpenAI says some can buy dedicated capacity to keep a model past its shutdown date by talking to sales. OpenAI doesn't document the error a shut-down model returns. Developers have reported ↗ a 404 with the code model_not_found, which looks the same as a typo in the model name.

Three details catch teams out:

  • +Fine-tuned models die with their base. A fine-tune follows its base model's shutdown date, so a fine-tune of gpt-4o-2024-08-06 stops on January 14, 2027. From January 6, 2027 existing customers can no longer start new self-serve fine-tuning jobs, so you can't rebuild it on a newer base the way you trained it.
  • +Aliases point at snapshots. gpt-4o and gpt-4.1 resolve to dated snapshots, and OpenAI's changelog shows aliases being repointed to newer snapshots. The January 14 notice names only the snapshots and doesn't say what the bare aliases do afterwards. Plan as if they stop working too.
  • +Your eval tooling may be on the list. OpenAI's hosted Evals went read-only on October 31 and shuts down on November 30, 2026. If your migration tests live there, move them before you need them. The LLM evaluation tools comparison covers the alternatives.

The API also tells you directly. GET /v1/models returns a shutdown_date for each model, or null if none is announced. A short CI check can fail the build on both a coming date and a pinned ID the list doesn't return at all, which covers a model that is already gone as well as a typo:

python
import sys
from datetime import date, timedelta
from openai import OpenAI

PINNED = {"gpt-4o-2024-08-06", "gpt-5-mini"}  # every model ID your code calls
horizon = (date.today() + timedelta(days=90)).isoformat()

models = {m.id: getattr(m, "shutdown_date", None) for m in OpenAI().models.list()}
problems = [f"{m}: not available" for m in PINNED if m not in models]
problems += [f"{m}: shuts down {models[m]}" for m in PINNED if models.get(m) and models[m] <= horizon]
print("\n".join(problems) or "no pinned model shuts down in the next 90 days")
sys.exit(1 if problems else 0)

Azure OpenAI retires the same models on different dates

Azure OpenAI, now documented under Microsoft Foundry, sets its own retirement schedule ↗. For the same model it can be earlier or later than OpenAI's:

ModelOpenAI APIAzure OpenAI
o3, o3-proDecember 11, 2026November 19, 2026
o1, o3-mini, o4-miniShut down October 23, 2026November 19, 2026
gpt-4o 2024-05-13Shut down October 23, 2026January 14, 2027
gpt-4o 2024-08-06 and 2024-11-20, gpt-4o-mini, gpt-4.1, gpt-4.1-miniJanuary 14, 2027April 14, 2027
gpt-5, gpt-5-nanoDecember 11, 2026February 9, 2027
gpt-5-miniDecember 11, 2026July 13, 2027
whisper-1 (Azure: whisper)February 26, 2027December 15, 2026

The policy ↗ is also its own. A generally available model gets an 18-month lifecycle: it is deprecated at 12 months, when new customers can no longer deploy it, and retired at 18 months. Subscription owners get at least 60 days' notice for GA models and 30 days for previews, and retirement dates can't be extended. After retirement, every request returns 410 Gone.

What happens on the day depends on the deployment type. Standard, Global Standard and Data Zone Standard deployments are upgraded automatically at retirement. For gpt-4o 2024-05-13, Global Standard and Data Zone Standard deployments move to gpt-5.1; its Regional Standard deployments already retired on March 31, 2026. The exception is a deployment set to NoAutoUpgrade, which simply stops working. Provisioned deployments are never upgraded automatically: they fail on the date unless you migrate them first.

One trap if you check this from code: the Models API names states differently from the docs. The API's Deprecating is what the docs call Deprecated, and the API's Deprecated is what the docs call Retired.

Claude model deprecations

Anthropic retired seven Claude models from its API in 2026, listed in the table above. The next one is claude-sonnet-4-5-20250929: deprecated on September 30, 2026, it retires on November 30, 2026, and Anthropic's listed replacement is claude-sonnet-5-5. The only other deprecated model is claude-mythos-preview, deprecated on June 9, 2026, with its retirement date still to be announced.

Anthropic's deprecations page ↗ also gives every active model a "not sooner than" date:

Model IDRetires not sooner than
claude-haiku-4-5-20251001October 15, 2026 (passed; still active)
claude-opus-4-5-20251101November 24, 2026
claude-opus-4-6February 5, 2027
claude-sonnet-4-6February 17, 2027
claude-opus-4-7April 16, 2027
claude-opus-4-8May 28, 2027
claude-fable-5, claude-mythos-5June 9, 2027
claude-sonnet-5June 30, 2027
claude-opus-5July 24, 2027
claude-fable-5-1, claude-mythos-5-1September 1, 2027
claude-opus-5-5September 22, 2027
claude-sonnet-5-5September 28, 2027
claude-haiku-5-5October 7, 2027

Read these as floors. Anthropic gives at least 60 days' notice before retiring a publicly released model, by email to customers with active deployments and on the deprecations page. Haiku 4.5's floor passed in October with no notice, so it keeps running. claude-opus-4-5-20251101 has no notice either, so it can't retire on November 24. A model with no deprecation notice as of November 6 can't retire before early January 2027.

Anthropic's lifecycle has four states. Active models are fully supported. Legacy models get no more updates and may be deprecated. Deprecated models still work but have a replacement and a retirement date. Retired models no longer serve requests. How model IDs behave changed with the 4.6 generation:

  • +From Claude 4.6 on, the dateless ID is the model. claude-sonnet-4-6 is a fixed snapshot, Anthropic doesn't change the weights behind an ID, and an update ships under a new ID.
  • +Before 4.6, short names such as claude-sonnet-4-5 are aliases that point to the latest dated snapshot. Pin the dated ID if you want the guarantee.

The request changes too. In API version 2026-10-21 Anthropic removed temperature, top_p and top_k, which now return a 400 error. On earlier API versions, Claude 4.7 and later models return the same error when these are set to a non-default value. So moving a call from Sonnet 4.5 to Sonnet 5.5 that sets temperature=0 fails on the first request, before any behavior is compared.

Retired doesn't mean deleted. In November 2025 Anthropic committed ↗ to keeping the weights of every publicly released model for at least the lifetime of the company, and Claude Opus 3 is still available to paid claude.ai subscribers and, on request, through the API. Anthropic says it isn't committing to do the same for every model. For a production system that is a footnote: the date on the deprecations page is the one that breaks your calls.

Claude on AWS Bedrock and Google Cloud

Anthropic's dates apply to Anthropic-operated platforms: the Claude API, Claude Platform on AWS, Microsoft Foundry and the Anthropic-managed offering on Google Cloud. AWS Bedrock and Google's own Claude offering on Vertex set their own dates:

ModelClaude APIAWS BedrockGoogle Cloud (Google-managed)
Claude Sonnet 4.5November 30, 2026April 8, 2027November 30, 2026
Claude Opus 4.1Retired August 5, 2026January 8, 2027Not listed
Claude Sonnet 4Retired June 15, 2026Retired October 14, 2026Not listed
Claude 3.7 SonnetRetired February 19, 2026November 13, 2026, in two regionsRetired May 11, 2026
Claude 3 HaikuRetired April 20, 2026September 10, 2026 in most regions; November 13 or 27 in the restRetired August 23, 2026
Claude Haiku 4.5Not sooner than October 15, 2026Not sooner than October 16, 2026Not sooner than December 7, 2026

On Bedrock ↗, AWS notifies you when a model enters the Legacy state, and its policy says a model stays in Legacy for at least six months before its end of life (for some models launched since September 7, 2026, the Legacy period is 45 days). The dates don't always follow it: the Claude 3 models that went Legacy in a few regions on October 10 to 15, 2026 reach end of life there on November 13 or 27, 31 to 43 days later. Legacy is also stricter than it sounds:

  • +New customers can't use a Legacy model.
  • +Existing customers can lose access after 15 days without using it.
  • +No new Provisioned Throughput or fine-tuning jobs can be created on it.
  • +After three months in Legacy, a model can enter public extended access, where the provider sets a higher price.

The inactivity rule matters for evaluations. An eval suite that runs the old model once a quarter can find its baseline gone before the end-of-life date. After end of life, requests fail with ResourceNotFoundException unless you have a private arrangement with the model provider. Lifecycle state is per region, so check the modelLifecycle field in every region you deploy to:

bash
aws bedrock get-foundation-model --region us-east-1 \
  --model-identifier anthropic.claude-sonnet-4-5-20250929-v1:0 \
  --query 'modelDetails.modelLifecycle'

Gemini model deprecations

Google runs two surfaces with two schedules. The Gemini API ↗, the one you reach with an AI Studio key, lists the earliest date a model might be shut down and promises to communicate the exact date in advance. Preview models get at least two weeks' notice. Vertex AI ↗, now documented as Gemini Enterprise Agent Platform, keeps its standard models available for at least 12 months after release. Shorter-lived models like gemini-3.6-flash get a fixed date at least 45 days out, and Vertex dates are never moved earlier.

The dates that matter most right now:

  • +November 19, 2026: gemini-3.6-flash retires on Vertex. Its replacement is gemini-3.8-flash, which is listed until at least September 2, 2027.
  • +December 1, 2026: on the Gemini API, requests to gemini-2.5-pro route to gemini-3.8-flash and requests to gemini-2.5-flash route to gemini-3.5-flash-lite, billed at the new model's rates. Google deprecated both on November 2 and already limits them to projects that used them before. gemini-2.5-flash-lite is not deprecated on the Gemini API.
  • +January 28, 2027: gemini-3.7-flash retires on Vertex. On the Gemini API it already routes to gemini-3.8-flash.

The Gemini API marks the state in the response: since January 2026, a modelStatus field can carry a modelStage (LEGACY means existing customers only, RETIRED means the model can't be used) and a retirementTime. The full Gemini migration, including the request changes for Gemini 3.8 Flash and the per-surface table, is in the Gemini model deprecation checklist.

How the deprecation policies compare

SurfaceMinimum noticeOn the dateCan the model change under a fixed ID?Check from code
OpenAI API6 months for GA, 3 for specialized variants, shorter for previews (such as 2 weeks)Requests failAliases such as gpt-4o point to a dated snapshot and get repointedshutdown_date in GET /v1/models
Azure OpenAI60 days for GA, 30 for previews410 Gone, or an automatic upgrade on Standard deploymentsYes, by auto-upgradeModels API lifecycleStatus
Anthropic API60 daysRequests failOnly pre-4.6 aliases; from 4.6 each ID is a fixed snapshotDeprecations page; Console usage export by model
AWS Bedrock6 months in Legacy by policy (45 days for some newer models)ResourceNotFoundExceptionNomodelLifecycle per region
Gemini APIDates are the earliest possible; 2 weeks for previews and -latest swapsShut down, or routed to a successorYes: rerouted IDs and -latest aliasesmodelStatus in the response
Vertex AI12 months from release for standard models; 45 days for short-lived onesRequests failNot documentedModel versions page

Promised notice vs the notice providers gave in 2026

The policies are minimums, and some 2026 notices came in under them. Counting from the announcement date on each provider's deprecations page to the shutdown date:

ProviderModelsAnnouncedShutdownDays of noticeStated minimum
OpenAIo1, o4-mini, gpt-4, gpt-3.5-turbo and the rest of the October batchApril 22, 2026October 23, 20261846 months
OpenAIgpt-5, gpt-5-mini, gpt-5-nano, o3, and the pro modelsJune 11, 2026December 11, 20261836 months
OpenAIgpt-realtime, gpt-audio and the gpt-4o audio familiesJuly 20, 2026January 20, 20271846 months
OpenAIwhisper-1 and the transcribe modelsAugust 26, 2026February 26, 20271846 months
OpenAIgpt-5.1, gpt-5.4-nano, gpt-5.3-codexOctober 1, 2026April 1, 20271826 months (3 for Codex)
OpenAItts-1, tts-1-hd, gpt-4o-mini-ttsOctober 1, 2026January 6, 2027976 months
OpenAIgpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-miniOctober 14, 2026January 14, 2027926 months
OpenAIgpt-audio-mini-2025-10-06, gpt-realtime-mini-2025-10-06April 22, 2026July 23, 2026926 months
OpenAIgpt-5.4-cyberSeptember 11, 2026October 1, 202620Not stated for cyber models
AnthropicClaude Haiku 3February 19, 2026April 20, 20266060 days
AnthropicClaude Sonnet 4, Claude Opus 4April 14, 2026June 15, 20266260 days
AnthropicClaude Opus 4.1June 5, 2026August 5, 20266160 days
AnthropicClaude Sonnet 4.5September 30, 2026November 30, 20266160 days
AWS BedrockClaude 3 Haiku, 3 Sonnet, 3.5 Sonnet, 3.7 Sonnet in a few regionsOctober 10 to 15, 2026 (entered Legacy)November 13 or 27, 202631 to 436 months in Legacy
Gemini APIgemini-2.5-pro, gemini-2.5-flash (rerouted, not shut down)November 2, 2026December 1, 202629Dates are the earliest possible

A few patterns stand out. OpenAI kept to six months for most of its large 2026 shutdowns, but GPT-4o, GPT-4.1, the TTS models and two audio snapshots got about three, and the specialized gpt-5.4-cyber got 20 days. Its deprecations page gives no reason, and its policy allows faster timelines for safety or compliance concerns. Every retirement Anthropic announced in 2026 got 60 to 62 days, almost exactly its minimum. Its retirements announced in 2025 had more: Claude Opus 3 got 189 days and Claude Sonnet 3.7 got 114. On the Gemini API, access to the 2.5 models was already limited to existing users from September 18, so the 29 days were not the only warning.

The planning rule that follows: a policy minimum is not your runway. Notices in 2026 ran from 20 days to six months, so have the migration test ready before the email arrives, not after it.

The deprecations that don't fail

A shutdown is loud: requests fail and someone gets paged. Three mechanisms change the model without a single failed request:

  • +Rerouting. The Gemini API answers deprecated IDs with a successor. In 2026 that covered gemini-3.5-flash and gemini-3.7-flash, and from December 1 it covers gemini-2.5-pro and gemini-2.5-flash. That last move swaps a Pro model for a Flash model under a pinned ID, with new pricing and a model that ignores temperature.
  • +Auto-upgrade. Azure OpenAI's Standard deployments move to the replacement at retirement unless you opted out.
  • +Aliases. -latest names on the Gemini API are hot-swapped with every release after two weeks' email notice. OpenAI's bare model names move to newer snapshots. Pre-4.6 Claude short names follow the newest dated snapshot.

All three are migrations you shipped without a test run or a diff. You can at least see them, because responses report which model answered. Log it next to every call and alert when it changes per route:

python
print(openai_response.model)         # OpenAI: the dated snapshot, e.g. gpt-4o-2024-08-06
print(gemini_response.model_version)  # Gemini: the model that actually served the request

App removals are not API retirements

A model leaving a chat app tells you nothing about its API date. On October 29, 2026 Anthropic removed Claude Haiku 4.5 from the claude.ai model selector on the Free, Pro and Max plans, while the Claude API, Claude Code and the Team and Enterprise plans kept offering it. Its API status is still Active. Treat a model leaving ChatGPT the same way: for the API, the provider's deprecations page is the only schedule that counts.

How to prepare for the next model deprecation

  1. +

    Inventory every model ID and where it runs. Include the eval harness, where judge and embedding models are easy to forget, and fine-tunes, which retire with their base model. Start with a grep and read every hit:

    bash
    grep -rhoE "\b(gpt-[a-z0-9][a-z0-9.-]*|chatgpt-[a-z0-9.-]+|o[134](-[a-z0-9-]+)?|claude-[a-z0-9.-]+|gemini-[a-z0-9.-]+|text-embedding-[a-z0-9-]+|tts-1(-hd)?|whisper-1|codex-mini[a-z-]*)\b" \
      --exclude-dir={node_modules,.git,.venv,dist} . | sort | uniq -c | sort -rn
  2. +

    Look up each date on that surface's page. A model reached through Azure, Bedrock or Vertex follows that platform's date, not the model maker's. Where the API exposes a field, check it from CI instead of by hand.

  3. +

    Pick a pinned replacement with a long runway. Check the replacement's own row before you commit. Moving a gpt-4o route to gpt-5 today means migrating again on December 11. OpenAI lists gpt-6-luna for gpt-4o, and Anthropic's claude-sonnet-5-5 can't retire before September 28, 2027.

  4. +

    Update the request, not just the model string. Sampling parameters are where most of the breakage is this year. Claude 4.7 and later reject a non-default temperature, Gemini 3.8 Flash ignores it, and OpenAI's pro replacements take reasoning.mode: pro. A new embedding model usually means re-embedding your index, because vectors from different models aren't comparable. Google's move from gemini-embedding-2-preview to gemini-embedding-2 is an exception: the same embedding space, no re-index.

  5. +

    Record a baseline while the old model still answers, then diff. Replay real production inputs on the old and new model and compare tool calls, arguments, structured fields and refusals per route, not one average. The method, with the six regressions it caught on a real upgrade, is in How to catch LLM regressions before a model upgrade ships.

  6. +

    Cut over per route with a rollback path. Keep the old model as the fallback while it still answers, then put the replacement's own retirement date on the calendar with a reminder 60 days ahead.

Step 5 has a deadline the others don't. Once a model is shut down or rerouted, you can't record what it did anymore. If gemini-2.5-flash, claude-sonnet-4-5-20250929 or gpt-5 is in production, the time to capture its behavior is before December 1, November 30 and December 11.

Doing this with EvalShift

Disclosure: I'm the founder of EvalShift, and step 5 is the part it automates. The capture SDK wraps the OpenAI, Anthropic and google-genai clients and records real runs, including tool calls, and compare replays them against the replacement:

python
from openai import OpenAI
from evalshift import capture
from evalshift.adapters.openai import wrap_openai

client = wrap_openai(OpenAI())  # wrap_anthropic and wrap_genai work the same way

@capture.agent(suite="support", redact=True, tools=[])  # no-op unless EVALSHIFT_CAPTURE=1
def handle_ticket(message): ...
bash
pip install evalshift
EVALSHIFT_CAPTURE=1 python my_agent.py   # record production-shaped runs
evalshift capture sync                   # recorded runs -> golden suite
evalshift compare --suite-name support --to gpt-6-luna

Both arms are live calls, so run it while the old model still answers. The verdict comes from a migration_policy written before the run, and the report shows the per-example diff. Docs: /docs/sdk-adapters, /docs/migration-policy, /docs/verdicts.

FAQ

When is GPT-4o being deprecated? On OpenAI's API, the gpt-4o-2024-08-06 and gpt-4o-2024-11-20 snapshots and gpt-4o-mini-2024-07-18 shut down on January 14, 2027, with gpt-6-luna as the listed replacement. The older gpt-4o-2024-05-13 already shut down on October 23, 2026. On Azure OpenAI, gpt-4o 2024-05-13 retires on January 14, 2027 and the newer versions on April 14, 2027.

What happens when an OpenAI model is deprecated? Deprecation is the announcement: the model keeps working until its shutdown date, and customers using it get an email. After the shutdown date requests to it fail, and developers have reported a 404 model_not_found error. Fine-tuned models shut down with their base model.

What is the difference between a deprecated and a retired model? A deprecated model still works, but it has an announced end date and usually a recommended replacement. A retired model no longer serves requests. OpenAI calls the end state "shut down", Anthropic and Vertex AI call it "retired", and AWS Bedrock calls it "end of life". Watch the word "legacy": at OpenAI and Anthropic it means a model gets no more updates, while on Bedrock it means an end-of-life date is already set.

How much notice does OpenAI give before shutting down a model? At least six months for generally available models, at least three months for specialized variants such as chat, Codex and deep-research models, and much shorter notice, such as two weeks, for models with "preview" in the name. Safety or compliance issues can shorten all of these. In 2026 most large shutdowns got about six months, but GPT-4o, GPT-4.1 and the TTS models got about three, and gpt-5.4-cyber got 20 days.

What happens to fine-tuned models when the base model is deprecated? On OpenAI a fine-tuned model shuts down on its base model's date, so a fine-tune of gpt-4o-2024-08-06 stops on January 14, 2027. From January 6, 2027 existing customers can no longer start new self-serve fine-tuning jobs, so it can't be retrained on a newer base the same way. On AWS Bedrock, a model in the Legacy state accepts no new fine-tuning jobs.

Can I keep using a model after its shutdown date? Usually not. OpenAI says some customers can buy dedicated capacity for continued access through its sales team. On AWS Bedrock, access after end of life needs a private arrangement with the model provider. Anthropic kept Claude Opus 3 available on request after its retirement, but says it isn't committing to do that for every model.

Which Claude models are being deprecated? claude-sonnet-4-5-20250929 is deprecated and retires from the Claude API on November 30, 2026, replaced by claude-sonnet-5-5. claude-mythos-preview is also deprecated, with its retirement date still to be announced. In 2026 Anthropic already retired Claude Opus 3, Sonnet 3.7, Haiku 3.5, Haiku 3, Sonnet 4, Opus 4 and Opus 4.1. Every other model only has a "not sooner than" date, the earliest it could retire.

How much notice does Anthropic give before retiring a Claude model? At least 60 days for publicly released models, by email to customers with active deployments and on the model deprecations page. A "not sooner than" date that passes without a notice, as Claude Haiku 4.5's did in October 2026, doesn't retire anything.

Is Gemini 2.5 being deprecated? On Vertex AI, Google lists October 20, 2026 as the retirement date for gemini-2.5-pro, gemini-2.5-flash and gemini-2.5-flash-lite. On the Gemini API, 2.5 Pro and 2.5 Flash were deprecated on November 2, 2026, and from December 1, 2026 their requests route to gemini-3.8-flash and gemini-3.5-flash-lite. gemini-2.5-flash-lite is not deprecated on the Gemini API.

Do Azure OpenAI and AWS Bedrock use the same retirement dates as OpenAI and Anthropic? No. Each platform sets its own dates, and only that platform's date applies to calls made through it. o3 retires on Azure on November 19, 2026 but on OpenAI's API on December 11. Claude Sonnet 4.5 runs on Bedrock until April 8, 2027, months after its November 30 retirement on the Claude API.

How can I check whether a model I use is deprecated? OpenAI returns a shutdown_date for each model in GET /v1/models. Gemini API responses can carry a modelStatus with the model's stage and retirement time. Azure's Models API exposes lifecycleStatus, and Bedrock's GetFoundationModel returns modelLifecycle per region. For Anthropic and Vertex AI, check the deprecations page.

Keep reading