Skip to content

OpenAI shuts down gpt-4, o1 and o3-mini on 23 October: how to tell if your app uses them

On 23 October 2026 OpenAI stops serving gpt-4, gpt-3.5-turbo, o1, o3-mini, o4-mini, gpt-4.1-nano and other older models on its API, along with their aliases and fine-tunes. What shuts down, why Azure has a different calendar, how to check whether your chatbot or app uses them and how to migrate without breaking anything.

Cream, charcoal and emerald paper collage: on the left, a thick charcoal paper cable cut clean through, with loose coloured wires sticking out of the cut; from the right, a new emerald cable arrives diagonally with a rectangular two-prong plug that does not fit yet. Scraps falling below the gap and a diamond halftone in the background.
≈ 9:20

On 23 October 2026 stops serving about a dozen older models on its API. They include gpt-4, gpt-4-turbo, gpt-3.5-turbo, o1, o1-pro, o3-mini, o4-mini, gpt-4.1-nano, the first gpt-4o snapshot and gpt-image-1, plus the fine-tunes built on several of them. If a chatbot, an automation or a feature on your website still calls one of them, those calls stop working. ’s documentation mentions no automatic redirect to the new model: it says that at shutdown the model “will no longer be accessible”.

announced these retirements on 22 April 2026 on its deprecations page, and according to that page it emails customers who are actively using each model. We are publishing this guide on shutdown day. Use it to check whether you are affected, to fix anything that has stopped responding, and to prepare for the next shutdown, which already has a date.

Screenshot of developers.openai.com/api/docs/deprecations (21 October 2026).

Which models shut down on 23 October

This is the list from ’s page, with the aliases that go with each snapshot and the replacement itself recommends:

Snapshot that shuts downAliases that go with itReplacement OpenAI recommends
gpt-4-0613gpt-4, gpt-4-0613-completions, gpt-4-completionsgpt-5.6-sol
gpt-4-turbogpt-4-turbo-2024-04-09, gpt-4-turbo-completionsgpt-5.6-sol
gpt-4-1106-previewnonegpt-5.6-sol
gpt-4o-2024-05-13nonegpt-5.6-sol
gpt-4.1-nanogpt-4.1-nano-2025-04-14gpt-5.6-luna
gpt-3.5-turbo-0125gpt-3.5-turbo, gpt-3.5-turbo-completionsgpt-5.6-terra
o1-2024-12-17o1gpt-5.6-sol
o1-pro-2025-03-19o1-progpt-5.6-sol with reasoning.mode: pro
o3-mini-2025-01-31o3-minigpt-5.6-sol
o4-mini-2025-04-16o4-minigpt-5.6-terra
gpt-image-1nonegpt-image-2.5-sunburst or gpt-image-2.5-flare

These fine-tunes shut down on the same day: ft-gpt-3.5-turbo, ft-gpt-4, ft-gpt-4.1-nano-2025-04-14, ft-o4-mini-2025-04-16, ft-babbage-002 and ft-davinci-002.

Three details teams tend to miss

The aliases go too. In ’s table, gpt-4, gpt-3.5-turbo, o1, o3-mini, o4-mini and gpt-4.1-nano sit next to the snapshot that shuts down, with no new target. If you used the alias years ago so you would not have to update snapshots, you are affected just like code that pinned the date.

Only the first gpt-4o snapshot goes: gpt-4o-2024-05-13. The gpt-4o-2024-08-06 and gpt-4o-2024-11-20 snapshots, gpt-4o-mini, gpt-4.1 and gpt-4.1-mini keep working until 14 January 2027. announced that second shutdown on 14 October and recommends gpt-6-luna for all of them. Before you assume anything, check the exact model ID each call sends.

Fine-tunes go with their base model. says inference on a fine-tune stays available until the base model is retired, and several base models are retired on 23 October. Training a new fine-tune is not a good way out either: from 6 January 2027, existing customers can no longer create new fine-tuning jobs on ’s platform.

If you use Azure OpenAI, the calendar is different

Microsoft publishes its own dates in its Microsoft Foundry model retirement schedule, updated on 23 September 2026. There, o1, o1-pro, o3-mini and o4-mini retire on 19 November 2026, gpt-4o version 2024-05-13 on 9 December 2026 and gpt-4.1-nano on 14 April 2027. gpt-image-1, on the other hand, retires on Azure on the same 23 October.

One post on X put it like this:

“The shutdown date depends on your route, not the model name.”

BenchLM (@BenchLM_AI) on X

If part of your system calls ’s API and another part goes through Azure, check them separately.

How to tell if your chatbot or app uses them

Changing the model name is quick; finding every call takes more work. These are the usual places to look:

  • Code and configuration: search the repository, environment variables and each environment’s config files for the IDs in the table.
  • The database, if you store which model each assistant, customer or template uses.
  • Third-party tools where someone picked the model from a dropdown: automations, CMS plugins or chatbot platforms. That setting does not show up in your repository.
  • The logs of your own API calls, which show which model production actually requests.

also lets you check this automatically. The API’s model list (GET /v1/models) includes an optional shutdown_date field with the shutdown date as YYYY-MM-DD, or null if no date has been announced. A regular check of that field for the models you use warns you months ahead.

’s warning email goes to the organization. If the account was opened by someone who has since left, or by a vendor who built the chatbot two years ago, nobody may have read it.

LetBrand diagram.

How to migrate without breaking anything

The replacement recommends is not a copy of the old model. It may answer in a different tone or length, cost a different amount or need different parameters: for o1-pro, for example, points to gpt-5.6-sol with reasoning.mode: pro. Changing one line is fast. Checking that the answers are still what your business needs is what takes time.

  1. Collect a few dozen real cases: customer questions, documents the system processes, conversations that went well and some that went badly.
  2. Run them through the current model, if it still answers, and through the replacement, and compare the results with someone who knows the business.
  3. Adjust the instructions where the new model drifts and test again.
  1. Deploy with the model name in configuration, so you can roll back without touching code.

Do not keep those tests on ’s Evals platform. According to the same page, it becomes read-only on 31 October 2026 and shuts down on 30 November. suggests moving to Promptfoo.

For the 23 October models, recommends the family, but for gpt-4o and gpt-4.1 it already recommends gpt-6-luna, and its models page presents , and Luna as its flagship models. As of today the deprecations page gives the family no shutdown date, so it is a valid target. Still, if you are going to migrate and test anyway, we would include Luna or in the same round so you do not repeat the work in a few months. We covered what changes for a chatbot in this article.

What comes after 23 October

’s calendar does not end here. These are the next dates on its deprecations page:

  • 31 October 2026: the Evals platform becomes read-only.
  • 30 November 2026: Agent Builder, the reusable prompts API (v1/prompts) and Evals shut down.
  • 1 December 2026: gpt-image-1-mini, gpt-image-1.5 and chatgpt-image-latest.
  • 11 December 2026: the dated snapshots of gpt-5, gpt-5-mini, gpt-5-nano and gpt-5-pro, and those of o3 and o3-pro.
  • 6 January 2027: tts-1, tts-1-hd and two gpt-4o-mini-tts snapshots, and the end of new fine-tuning jobs for existing customers.
  • 14 January 2027: gpt-4o, gpt-4o-mini, gpt-4.1 and gpt-4.1-mini in the listed snapshots.
  • 20 January 2027: legacy audio and realtime models such as gpt-realtime and gpt-4o-realtime.
  • 26 February 2027: whisper-1, gpt-4o-transcribe and the /v1/audio/translations endpoint.
  • 1 April 2027: gpt-5.1, gpt-5.3-codex and gpt-5.4-nano.
LetBrand diagram based on OpenAI's deprecations page (21 October 2026).

commits to at least six months’ notice for generally available models and three months for specialized variants such as chat or versions. Models with “preview” in the name can be retired with about two weeks’ notice, and itself advises against using them for business-critical production unless you can migrate at short notice. If you are choosing the model for a new project, check that label too.

What developers are saying

On ’s developer forum, the April announcement did not go down well. One user wrote:

“This is an unprecendented massive list of models going away.”

_j on the OpenAI Developer Forum (the “unprecendented” typo is in the original).

Another went further:

“Seems to me this will make me move to Mistral, Chinese or OS stable models first than doing finetuning again with OpenAI.”

nikola.k on the OpenAI Developer Forum

We understand the frustration, especially with fine-tunes. But switching providers does not remove the problem: Microsoft’s calendar above retires models too. It helps more to make changing models a planned task instead of an emergency.

How to prepare your system for the next shutdown

Our chatbots use a multi-model layer to pick a provider for the cost or the kind of work and keep another option ready. Whether or not you work with us, this is what we recommend:

  • One place for the model. The code asks for a name of your own, such as “customer-support-assistant”, and configuration decides which real model sits behind it.
  • An automatic check, weekly for example, of the shutdown_date of the models you use, which alerts a named person.
  • A set of test cases kept in your repository that you can run against any model or provider.
  • A fallback model you have already tested, for when an update turns out worse than expected. Models also change after launch, as we explain in this article.

If you are not sure whether your website, chatbot or automations use any of these models, we can check it with you. For a specific change, such as swapping the model in one integration, our One-off Review (€150) fits: it is meant for targeted fixes with a single delivery. If you want a full report on your website or app, there is the Technical Audit (€200). If you want a chatbot that does not depend on a single model, see how we build chatbots or get in touch.