← Startup Signals
7 min readUpdated 2026-10-19Issue 2

OpenAI has announced ten dated deadlines between 23 October 2026 and 1 April 2027. Here is the calendar.

Ten dated deadlines in six months, every one announced in public. The failure mode is never the notice. Updated 19 October with the entries added since September.

ByKarthik KumarCafiyn InnovationsUpdated
At a glance
Dated deadlines announced
Ten between 23 October 2026 and 1 April 2027
Nearest
23 October 2026: o1, o3-mini, o4-mini, GPT-4 Turbo, gpt-image-1 and more
Notice policy
At least 6 months for generally available models, 3 for specialised variants, as little as 2 weeks for previews
Check from code
GET /v1/models, optional shutdown_date field
Read
OpenAI deprecations page, 19 October 2026

The calendar

Everything below is taken from OpenAI's own deprecations page as read on 19 October 2026. Each entry was announced in public, with a date attached. None of it is a surprise, which is exactly what makes it dangerous: an announced deprecation only breaks the teams that were not looking.

  • 23 October 2026: o1, o1 pro, o3-mini, o4-mini, GPT-4, GPT-4 Turbo, gpt-4-1106-preview, GPT-3.5 Turbo 0125, GPT-4.1 nano, gpt-4o-2024-05-13, gpt-image-1 and six fine tuned models. Announced 22 April 2026. Replacements are GPT-5.6 Sol, Terra and Luna. The model by model costs are in our analysis of this shutdown.
  • 31 October 2026: existing evals in the Evals platform become read only. Announced 3 June 2026.
  • 30 November 2026: the v1/prompts reusable prompts API, the Evals dashboard and API, and Agent Builder. Announced 3 June 2026.
  • 1 December 2026: gpt-image-1-mini, gpt-image-1.5 and chatgpt-image-latest, replaced by gpt-image-2.5-sunburst or gpt-image-2.5-flare. Announced 2 June 2026.
  • 11 December 2026: older GPT-5 and o3 snapshots, including gpt-5-2025-08-07, gpt-5-mini, gpt-5-nano, gpt-5-pro, o3 and o3-pro, replaced by GPT-5.6 Sol, Terra and Luna. Announced 11 June 2026.
  • 6 January 2027: tts-1, tts-1-hd and both gpt-4o-mini-tts snapshots, replaced by gpt-realtime-2.1-mini, and active customers can no longer create new fine tuning jobs. The speech models were announced 1 October 2026.
  • 14 January 2027: GPT-4o, GPT-4o mini, GPT-4.1 and GPT-4.1 mini, with their fine tuned versions, replaced by gpt-6-luna. Announced 14 October 2026.
  • 20 January 2027: the legacy audio and realtime family, including gpt-realtime, gpt-audio, gpt-4o-audio, gpt-4o-realtime and their mini variants. Announced 20 July 2026.
  • 26 February 2027: whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-transcribe-diarize, replaced by gpt-transcribe or gpt-live-transcribe. Announced 26 August 2026.
  • 1 April 2027: gpt-5.3-codex and gpt-5.1, replaced by gpt-6-sol, and gpt-5.4-nano, replaced by gpt-6-luna. Announced 1 October 2026.

How much notice you get

OpenAI's page states its minimums. Generally available models get at least six months. Specialised variants of generally available models, such as chat variants, Codex variants and deep research variants, get at least three months. Preview models can be retired with much shorter notice, such as two weeks, and OpenAI says it does not recommend them for business critical production workloads unless you can migrate at short notice. It also reserves the right to move faster for safety or compliance reasons.

That is a useful filter when you read the calendar. A date six months out is a planning item. A date on a preview model is a deadline the day you read it.

What changed since 7 September

On 7 September the list had seven dates ahead. Today it has ten, after the 24 September removal of the Videos API and Sora 2 passed, with no replacement named, and four dates were added: 31 October, 6 January, 14 January and 1 April. Behind them are the 1 October notices for text to speech, gpt-5.3-codex, gpt-5.1 and gpt-5.4-nano, and the 14 October notice for GPT-4o and the GPT-4.1 family.

One correction: the 7 September version named gpt-image-2 as the replacement for the 1 December image removals. OpenAI's page now names gpt-image-2.5-sunburst or gpt-image-2.5-flare, and this version follows it.

Which of these will actually bite

Rank them by where the call sits rather than by how soon the date is. A model string in your main request path gets caught in staging within a day. A model string in a nightly job, a webhook handler or an admin only feature can fail silently for weeks, because those paths fail into a queue or a log rather than into a user's face.

On that reading the October reasoning model shutdown is the sharpest of the set. o3-mini and o4-mini are reasoning models, which means teams typically route to them on an escalation path: the retry after a cheaper model failed validation, the "hard case" branch, the complex document handler. Those branches are the least exercised in testing and the most expensive when they stop working, because by definition they only run when something already needed care.

The 30 November platform shutdown is different in kind. Agent Builder, the Evals dashboard and reusable prompts are not code paths, they are places your process lives. Your evaluation history and your prompt library sit there. When that dashboard closes it takes your baselines with it, and you cannot rerun last quarter's evals to compare afterwards.

Finding them without reading the whole codebase

OpenAI documents an optional shutdown_date field on the List models endpoint, a YYYY-MM-DD string or null when none is announced, and it is also returned by Retrieve a model. One request shows every model your key can see that carries a date. It lists what is available to the key and not what your code calls, so pair it with a search.

Model identifiers are strings, which is what makes the search tractable. A single grep across your repository for the affected identifiers will find the large majority of call sites in a couple of minutes. Two places that grep will miss, and that are worth checking by hand: configuration that lives outside the repo, such as environment variables, feature flags, or a model name stored in a database row per customer; and anything that builds a model string by concatenation, which is rare but does happen in routing code that assembles a family name and a size.

  • curl -s https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY" | jq -r '.data[] | select(.shutdown_date != null) | "\(.shutdown_date) \(.id)"' | sort
  • grep -rn "o3-mini\|o4-mini\|o1-pro\|gpt-4-turbo\|gpt-3.5-turbo" .
  • grep -rn "gpt-4o\|gpt-4.1\|gpt-image-1\|chatgpt-image-latest" .
  • grep -rn "whisper-1\|gpt-4o-transcribe\|gpt-4o-mini-transcribe" .
  • Check environment variables and any per tenant model configuration stored in your database
  • Check dashboards and scheduled jobs, which are the paths least likely to be covered by tests

We got this wrong ourselves, which is the point

Our own Cost Comparator listed o3-mini and o4-mini as current models with no caveat, and we publish a dedicated pricing page for o3-mini. Both have had a published shutdown date since 22 April 2026.

Worse, our weekly automated price check flagged both models on 5 September because their prices no longer appeared on OpenAI's current pricing page, and we recorded that as a likely false positive. The tool was right and the person reading it was wrong. The entries now carry the shutdown date, and the correction is published in the price change log rather than quietly applied.

We mention it because the mechanism that failed here is the same one that fails everywhere else: not the absence of a signal, but a human deciding the signal was noise.

What to do

  1. 1Grep for the identifiers above today, and call the List models endpoint to read shutdown_date for what your key can see. It is a two minute job and it converts an unknown into a list.
  2. 2Export your Evals history and your reusable prompts before 30 November. The Evals platform goes read only on 31 October, so start now.
  3. 3Plan the January removals now: text to speech on 6 January, GPT-4o and GPT-4.1 on 14 January, and the legacy audio and realtime family on 20 January.
  4. 4Subscribe to our deadlines calendar, or put the deprecations page on a monthly reminder. It is functionally a certificate expiry list.
  5. 5Check per tenant or per environment model configuration, which lives outside the repo and will not show up in a grep.

Common questions

When do o3-mini and o4-mini stop working?

23 October 2026. OpenAI announced the deprecation on 22 April 2026, alongside o1, o1 pro and the legacy GPT-4 and GPT-3.5 snapshots. It names GPT-5.6 Sol for o3-mini and GPT-5.6 Terra for o4-mini.

When is GPT-4o being retired?

OpenAI's 14 October 2026 notice removes GPT-4o (gpt-4o-2024-08-06 and gpt-4o-2024-11-20), GPT-4o mini, GPT-4.1 and GPT-4.1 mini on 14 January 2027, with their fine tuned versions, and names gpt-6-luna as the replacement. A separate snapshot, gpt-4o-2024-05-13, is removed earlier, on 23 October 2026.

What replaces Whisper?

OpenAI names gpt-transcribe and gpt-live-transcribe as the replacements for whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-transcribe-diarize. Those four shut down on 26 February 2027.

What replaces the Videos API and Sora 2?

Nothing, within OpenAI. The deprecation entry names no successor, which makes the 24 September 2026 removal a vendor change rather than a version bump if you shipped video generation.

How much notice does OpenAI give before retiring a model?

At least six months for generally available models, at least three months for specialised variants such as chat, Codex and deep research variants, and as little as two weeks for preview models. OpenAI also says it may move faster for safety or compliance reasons.

Does a deprecation date mean the model stops working that day?

Yes. OpenAI distinguishes deprecation, when a model is marked for removal and typically stops accepting new fine tuning jobs, from shutdown, when requests begin failing. The dates listed here are shutdown dates.

Sources

Read against the primary documentation rather than secondary coverage. Where a figure comes from a provider's own docs, it is quoted as published on 2026-10-19.

Related

More from Signals

OpenAI removes o1, o3-mini, o4-mini and GPT-4 Turbo on 23 October. The replacements it names run from 5.5 times the price to 97 percent less.
Eleven models and six fine tuned models go dark in four days. Here is OpenAI's own mapping, what each landing costs on a typical month of traffic, and the places where the named replacement is not the cheapest or cannot be used at all.
OpenCode says a breach hit 1.4 percent of Console users who linked an AI provider. Rotate those keys before the root cause is published.
OpenCode has confirmed the breach and has not said how it happened or what was taken. Here is what the vendor said, who is exposed, the order to work in, and how to limit the damage next time.
GitHub Actions workflow lockfiles are in public preview. Here is how to turn them on, check them in CI, and what they do not protect.
A tag can move after you reviewed it. A lockfile makes the runner use the commit you reviewed. Here is the setup, the CI check, the policy, and what a lockfile cannot tell you.
Next.js 16.4.1 and 15.5.28 fix two critical remote code execution flaws. For one of them there is no workaround.
Two of the three fixes were postponed from September. Here is what each flaw needs in order to be reachable, the one workaround that exists, and what the announcement leaves out.
A poisoned npm release that punishes you for revoking the stolen token. The order of your response is the whole defence.
Most incident guidance starts with revoking the leaked token. Here that is the trigger. What StepSecurity found, the order it recommends, and why a valid provenance attestation did not help.
Claude Haiku 5.5 costs a tenth of Haiku 4.5 per token. One token past 100,000 it costs half.
The rate card is a tenth of Haiku 4.5. The footnote is a threshold that moves the price fivefold and that a tokenizer change pushes you toward.
Gemini 4 Argon launched at $2 and $10 and goes to $4 and $20 on 1 December. Price your product on the second number.
Every tier on the pricing page doubles on the same date. What changes, what the number includes, and what to do if you are building on the launch rate.
Claude Haiku 5.5 is not a model id swap. Five things that worked on Haiku 4.5 now return a 400.
The model id is the easy part. The requests that now fail, the response parsing that changes, and the details that fail quietly.
Next.js shipped 16.3.7 and 16.3.8 a day apart. Only one of them is the security release.
Two patch releases a day apart, one of them a decoy if you are not reading carefully. And the 15.5 line does not get the high severity fix at all.
The EU AI output marking rule is not a December deadline. For most teams it started in August.
Almost every summary of this gives one date. There are two, and which one applies to you depends on when you shipped, not on how big you are.
Sonnet 5.5 cut the rate by a third and the token count went up by about 30 percent.
A third off the per-token rate is not a third off the bill when the same text now costs more tokens. Here is the arithmetic, and the five ways your code can break.
Your AI gateway holds every provider key you have. A 9.9 just landed in LiteLLM.
An AI gateway concentrates every upstream key into one process. That is the point of it, and it is why a privilege escalation there is worse than it looks.
The table your coding agent created does not have row level security on it.
Dashboard-created tables get row level security by default now. API-created tables do not, and API is how your coding agent works.
A 9.5 in next/og. Whether it reaches you depends on one line in your OG route.
The advisory rates it 9.5, but it only fires if your OG image route puts attacker-controlled text into SVG. Here is how to find out which side of that line you are on.
OpenAI and Anthropic both cut prices on 22 September. One of them costs you a refactor.
Two frontier price cuts in one day is a good week for anyone paying a token bill. The migration cost is not evenly distributed, and one of the two prices comes with an expiry hedge.
A package install reads your home directory. This week two of them did it on purpose.
The implant did nothing clever. It read the files your shell reads, in the place your credentials live, and sent them somewhere else. That is the whole attack, and it works.
GitHub is switching off SHA-1 SSH keys. Find out now whether yours is one of them.
The keys at risk are the old ones, on the machines nobody logs into, in the pipelines that have run untouched for three years. Those are also the ones that will fail loudest.
Every third-party script tag is a standing grant to run code on your visitors.
A marketing form, a chat widget, an analytics snippet. Each one is permission for someone else's server to execute whatever it sends, on every page it sits on, forever.
1.8 million Android apps were scanned for hardcoded keys. Here is how to check yours.
Finding secrets in shipped apps is now a cheap, automated pipeline. Anything compiled into an APK, an IPA or a JavaScript bundle should be treated as already published.
OpenAI's Agents API will hold your agent state. What breaks if you ever need to leave.
Two major providers moved into the agent state layer in the same week. A managed harness is a real shortcut, as long as you keep a copy of what it holds.
Meta's Muse agent can now check out at your store. What merchants should change.
Agent purchases are arriving through wallets and single-use cards, not through merchants adopting a new protocol. Many merchants will receive them without choosing to.
What Brevo's SSO incident teaches about multi-tenant SAML and hijacked sending accounts.
One incident, two lessons: why email authentication did not help, and the tenant-scoping mistake anyone shipping SSO can make.
Cloudflare now sorts bots into Search, Training and Agent. What it means for your site and your agent.
The same change lands on two audiences. Site owners can now accidentally block search; agent builders will find more doors closed.
Nvidia bought Hugging Face. Your open-weight fallback is now a vendor relationship.
The commitments say nothing breaks. The structural change is that "we can always self-host" is now a dependency on one vendor rather than on a neutral commons.
The Videos API goes away on 24 September and OpenAI names nothing to move to.
Every other deprecation on OpenAI's page offers a migration target. This one does not, which makes it a different kind of problem.
Whisper shuts down on 26 February. The risk is not the deadline.
Five months is a generous window. Whisper is also typically wired into a background job that fails into a queue rather than into a user's face.
The Assistants API is gone. Your app may not have told you yet.
It shut down on 26 August 2026. The replacement is not a drop-in, and the most common migration mistake changes your model's behaviour without throwing an error.
One Copilot code review costs 13 requests. Here is the rest of the maths.
Copilot now bills on usage rather than seats. The headline change is simple. The multipliers underneath it are where teams get surprised.
Row-level security is on by default now. That is not the same as being protected.
Lovable fixed the default. The gap that actually leaks data was never the default, it was the policy, and no platform can write that for you.
Your model comparison is measuring the wrong number.
Every price list is per token. Your bill is per finished piece of work. Those two numbers can rank models in opposite orders.
An agent with production log access is a new identity. Treat it like one.
Always-on agents that read production logs are arriving fast. The access-control question they raise is old and well understood, which is the good news.

Open the tool.

Ten production categories, three minutes, and a ranked list of what to fix first.

Check your own stack