On October 23, 2026, OpenAI shuts down 12 older models in its API, including gpt-4, gpt-4-turbo, gpt-3.5-turbo, o1, o3-mini, o4-mini, gpt-4.1-nano, and the first GPT-4o snapshot, gpt-4o-2024-05-13. The other GPT-4o snapshots, gpt-4o-mini, gpt-4.1, and gpt-4.1-mini keep working until January 14, 2027, when OpenAI replaces them with gpt-6-luna.
Anthropic retires Claude Sonnet 4.5 on November 30, 2026. Google’s next Gemini API shutdowns are preview models, no earlier than October 22 and November 17, 2026, and Gemini 3.1 Flash-Lite no earlier than May 7, 2027. Google says its dates are “the earliest possible dates on which a model might be retired” and that it sends the exact date later. We read every date below on the official deprecation pages of OpenAI, Anthropic, and Google on 2026-10-13.
Who this is for: anyone whose product or internal tool calls the OpenAI, Claude, or Gemini API and who needs to know what breaks and when. Who should look elsewhere: if you only use the ChatGPT app, the API dates don’t apply to you. ChatGPT retired GPT-4o in the app back in February (details below). If you call models through Azure, Amazon Bedrock, or Google Cloud, those platforms publish their own schedules.
For the models you can still build on, our AI model comparison lists each one’s price, context window, and retirement status side by side.
The full calendar, with replacements
Every OpenAI and Anthropic row is an API shutdown, the date requests start to fail. Google rows read “Not before”, because Google lists the earliest possible date and sends the exact one later. The replacement is the one the vendor names on its own page.
| Date | Vendor | What shuts down | Official replacement |
|---|---|---|---|
| Not before Oct 22, 2026 | veo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-3.1-lite-generate-preview, gemini-omni-flash-preview | gemini-omni-1.1-flash | |
| Oct 23, 2026 | OpenAI | gpt-3.5-turbo-0125 (gpt-3.5-turbo) | gpt-5.6-terra |
gpt-4-0613 (gpt-4), gpt-4-1106-preview, gpt-4-turbo, gpt-4o-2024-05-13, o1, o1-pro, o3-mini | gpt-5.6-sol | ||
o4-mini | gpt-5.6-terra | ||
gpt-4.1-nano | gpt-5.6-luna | ||
gpt-image-1 | gpt-image-2.5-sunburst or gpt-image-2.5-flare | ||
Fine-tuned ft-gpt-3.5-turbo, ft-gpt-4, ft-gpt-4.1-nano, ft-o4-mini, ft-babbage-002, ft-davinci-002 | The matching base model above | ||
| Not before Oct 23, 2026 | deep-research-pro-preview-12-2025 (an agent) | deep-research-preview-04-2026 | |
| Oct 31, 2026 | OpenAI | Evals: existing evals become read-only | See Nov 30 |
| Not before Nov 17, 2026 | gemini-3.1-flash-tts-preview, gemini-2.5-flash-preview-tts, gemini-2.5-pro-preview-tts | gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts | |
gemini-3.1-flash-live-preview, gemini-2.5-flash-native-audio-preview-12-2025 | gemini-3.8-live | ||
| Nov 30, 2026 | OpenAI | Agent Builder | Agents SDK or ChatGPT Workspace Agents |
| Evals dashboard and API | Promptfoo, per OpenAI’s migration guide | ||
v1/prompts API and reusable prompt objects | Move the prompt text into your code | ||
| Nov 30, 2026 | Anthropic | claude-sonnet-4-5-20250929 | claude-sonnet-5-5 |
| Dec 1, 2026 | OpenAI | gpt-image-1-mini, gpt-image-1.5, chatgpt-image-latest | gpt-image-2.5-sunburst or gpt-image-2.5-flare |
| Dec 11, 2026 | OpenAI | gpt-5-2025-08-07, o3-2025-04-16 | gpt-5.6-sol |
gpt-5-pro-2025-10-06, o3-pro-2025-06-10 | gpt-5.6-sol with reasoning.mode: pro | ||
gpt-5-mini-2025-08-07 | gpt-5.6-terra | ||
gpt-5-nano-2025-08-07 | gpt-5.6-luna | ||
| Jan 6, 2027 | OpenAI | tts-1, tts-1-hd, gpt-4o-mini-tts snapshots | gpt-realtime-2.1-mini |
| Creating new fine-tuning jobs | None named. Existing fine-tuned models keep running | ||
| Jan 14, 2027 | OpenAI | gpt-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-14 | gpt-6-luna |
| Jan 20, 2027 | OpenAI | gpt-realtime, gpt-4o-realtime, gpt-realtime-mini, gpt-4o-mini-realtime families | gpt-realtime-2.1 or gpt-realtime-2.1-mini |
gpt-audio, gpt-4o-audio, gpt-audio-mini, gpt-4o-mini-audio families | gpt-audio-1.5 | ||
| Feb 26, 2027 | OpenAI | whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-transcribe-diarize | gpt-transcribe or gpt-live-transcribe |
| Apr 1, 2027 | OpenAI | gpt-5.1, gpt-5.3-codex | gpt-6-sol |
gpt-5.4-nano | gpt-6-luna | ||
| Not before May 7, 2027 | gemini-3.1-flash-lite | gemini-3.5-flash-lite |
Three notes on the table:
- The January 14 notice is new. OpenAI’s page dates it October 14, 2026. Fine-tuned versions of those models “follow the same shutdown schedule as their underlying base models.”
gpt-4-1106-previewappears twice. OpenAI’s page lists it under October 23, 2026 and also in a past notice dated March 26, 2026. If you still call it, treat it as already at risk.- OpenAI names
gpt-6-solas a replacement for April 1. Its pricing page listsgpt-6.1-sol, notgpt-6-sol. Check the model list for your key before you switch.
Dates that are not shutdowns yet
Anthropic lists a “tentative retirement date” for every active model. Two of them are close, but neither model has been deprecated:
| Model | Anthropic’s status on 2026-10-13 | Earliest date |
|---|---|---|
claude-haiku-4-5-20251001 | Active | ”Not sooner than October 15, 2026” |
claude-opus-4-5-20251101 | Active | ”Not sooner than November 24, 2026” |
These are floors, not shutdowns. Anthropic says it gives “at least 60 days’ notice before model retirement for publicly released models.” So if Anthropic deprecated Haiku 4.5 today, it would keep working until at least mid-December.
Google’s page carries a similar warning: “The shutdown dates listed in the table indicate the earliest possible dates on which a model might be retired.” Google has also limited the Gemini 2.5 models “to users who have actively used them in the past.” They are not deprecated, but a new project can’t start on them.
How much notice each vendor gives
| Vendor | Promised notice | Where it is announced |
|---|---|---|
| OpenAI | ”Generally available models: At least 6 months.” At least 3 months for specialized variants. Preview models “may be retired with much shorter notice, such as 2 weeks.” | Email to active users and the deprecations page |
| Anthropic | ”At least 60 days’ notice before model retirement for publicly released models” | Email to active users and the model deprecations page |
| No fixed period on the page. Exact dates are sent “with advance notice” | The release notes and the deprecations page |
The lesson from this table: don’t build anything that matters on a model with “preview” in its name. Every Google date in the next six weeks is for a preview model.
Check which models your code still calls
OpenAI: read shutdown_date from the API
OpenAI’s deprecations page says to “call the List models endpoint (GET /v1/models) and check each model’s optional shutdown_date field.” The field is a YYYY-MM-DD string, or null if no date is announced. This script prints the shutdown date for every model your key can see, or only the ones you name. It needs Node 18 or later and no packages.
// check-shutdowns.mjs
// Usage: OPENAI_API_KEY=sk-... node check-shutdowns.mjs gpt-4o-2024-08-06 o3-mini
const res = await fetch('https://api.openai.com/v1/models', {
headers: { Authorization: `Bearer ${process.env.OPENAI_API_KEY}` },
});
if (!res.ok) throw new Error(`OpenAI returned ${res.status}`);
const { data } = await res.json();
const wanted = process.argv.slice(2);
const ids = new Set(data.map((m) => m.id));
for (const id of wanted) {
if (!ids.has(id)) console.log(`${id}: not listed for this key (already shut down, or no access)`);
}
const today = Date.parse(new Date().toISOString().slice(0, 10));
const rows = data
.filter((m) => m.shutdown_date && (wanted.length === 0 || wanted.includes(m.id)))
.sort((a, b) => a.shutdown_date.localeCompare(b.shutdown_date));
for (const m of rows) {
const days = Math.round((Date.parse(m.shutdown_date) - today) / 86_400_000);
console.log(`${m.shutdown_date} ${String(days).padStart(4)} days left ${m.id}`);
}
if (rows.length === 0) console.log('No shutdown dates announced for these models.');
We wrote this from OpenAI’s description of the field and tested it against a mocked API response, not a live account. Check one result against the table above before you trust it.
Anthropic: export your usage by model
Anthropic doesn’t expose a shutdown field. Its page gives three steps instead: go to the Usage page in Claude Console, click Export, and “review the downloaded CSV to see usage broken down by API key and model.” Any row with claude-sonnet-4-5-20250929 needs to move before November 30.
Any vendor: search your code and config
Model names hide in environment files, database rows, and prompt configs as often as in code. A plain search finds most of them:
grep -rnoE "\b(gpt-[0-9a-z.-]+|o[134](-mini|-pro)?|claude-[a-z0-9-]+|gemini-[a-z0-9.-]+)\b" \
--include="*.ts" --include="*.js" --include="*.py" --include="*.json" --include="*.yaml" --include=".env*" .
Then check the database. Products that let staff or customers pick a model often store the ID as data.
What to do before each date
- Pin the full model ID. A dated snapshot like
claude-sonnet-4-5-20250929fails on a known day. A bare alias can change under you. We cover how we pin models in the AI SDKs we reach for. - Test the replacement on your own inputs. Anthropic’s advice is to test “with the new models well before the retirement date.” Run 20 to 50 real requests through both models and compare the output and the token counts. Newer Claude models count about 30% more tokens for the same text, so the bill changes even at the same price.
- Re-check the price. A replacement is not always cheaper.
gpt-4.1-nanomoves togpt-5.6-luna, which OpenAI lists at $0.20 input and $1.20 output per million tokens, checked 2026-10-13. Our AI API pricing table has every current model side by side. - Move platform features, not only models. Agent Builder, Evals, and the
v1/promptsAPI all close on November 30. If your agent runs on Agent Builder, the OpenAI Agents SDK vs Claude Agent SDK comparison covers where to move it. - Put a model check in your release list. It is one of the checks in our AI SaaS launch checklist.
The ranking pages for this question miss parts of the picture. A widely shared retirement guide, last updated September 13, has no January 14 GPT-4o date and no Claude Sonnet 4.5 date, because both were announced after it. That is the nature of this topic. We re-check this page every two weeks and the day after each date in the table.
FAQ
Is GPT-4o being retired?
In the API, yes, in two steps. The gpt-4o-2024-05-13 snapshot shuts down on October 23, 2026. The gpt-4o-2024-08-06 and gpt-4o-2024-11-20 snapshots and gpt-4o-mini shut down on January 14, 2027. In the ChatGPT app, OpenAI’s help center says GPT-4o was retired on February 13, 2026, and fully retired across all plans after April 3, 2026.
What replaces GPT-4o in the API?
OpenAI names gpt-6-luna for every GPT-4o, GPT-4o mini, GPT-4.1, and GPT-4.1 mini snapshot that shuts down on January 14, 2027. For gpt-4o-2024-05-13, which shuts down on October 23, it names gpt-5.6-sol. Test both on your own prompts. A cheaper model is not always good enough for the job.
When is Claude Sonnet 4.5 retired?
On November 30, 2026, on the Claude API, Claude Platform on AWS, and Microsoft Foundry. Anthropic recommends claude-sonnet-5-5. Amazon Bedrock and Google Cloud set their own dates, so check those platforms’ model tables if you call Claude there.
What happens if my app calls a retired model?
The request fails. Anthropic says “Requests to retired models will fail.” OpenAI says the model “will no longer be accessible.” Nothing falls back to a newer model for you, so plan the switch and add an alert on model errors.
Do Custom GPTs retire too?
Yes, but in ChatGPT, not the API. OpenAI’s Custom GPT FAQ says “Custom GPTs are scheduled to retire on Dec 11, 2026,” with a later date for some Enterprise workspaces. Our post on ChatGPT apps, MCP servers, and Custom GPTs covers what to move them to.
We move products from one model to another as part of our AI integration work, including the tests that show the new model still does the job.