OpenAI shuts down GPT-5 and o3 on December 11, 2026
Updated November 4, 2026

On this page
What shuts down on December 11
On June 11, 2026, OpenAI told developers that six GPT-5 and o3 models leave its API on December 11, 2026 (OpenAI deprecations). The short name and the dated snapshot both go: gpt-5 and gpt-5-2025-08-07 stop on the same day. OpenAI says a shut-down model is no longer accessible, so any call to it fails.
| Model and snapshot | Replacement | Shuts down |
|---|---|---|
gpt-5, gpt-5-2025-08-07 | gpt-5.6-sol | Dec 11, 2026 |
gpt-5-mini, gpt-5-mini-2025-08-07 | gpt-5.6-terra | Dec 11, 2026 |
gpt-5-nano, gpt-5-nano-2025-08-07 | gpt-5.6-luna | Dec 11, 2026 |
gpt-5-pro, gpt-5-pro-2025-10-06 | gpt-5.6-sol with reasoning.mode: pro | Dec 11, 2026 |
o3, o3-2025-04-16 | gpt-5.6-sol | Dec 11, 2026 |
o3-pro, o3-pro-2025-06-10 | gpt-5.6-sol with reasoning.mode: pro | Dec 11, 2026 |
The dated snapshots gpt-5-2025-08-07 and gpt-5-mini-2025-08-07 alone show up in about 170,000 public GitHub files (GitHub's code search count, November 2, 2026, approximate, Azure users included). So this one reaches a lot of code.
One thing that can confuse you: OpenAI's gpt-5 model page points to GPT-6 Astra as its latest model. The replacements in the table are the ones the deprecation notice names, so that's what we use here.
On Azure, the dates are different
If you call these models through Azure (Microsoft Foundry), OpenAI's date doesn't apply. Microsoft keeps its own retirement schedule. It's earlier than OpenAI's for o3 and later for the GPT-5 family.
| Model and version | Retires on Azure | Microsoft's replacement |
|---|---|---|
o3 2025-04-16 | Nov 19, 2026 | gpt-5.6-sol |
o3-pro 2025-06-10 | Nov 19, 2026 | gpt-5.6-sol |
o1 2024-12-17 | Nov 19, 2026 | gpt-5.6-sol |
o1-pro 2025-03-19 | Nov 19, 2026 | gpt-5.6-sol |
o3-mini 2025-01-31 | Nov 19, 2026 | gpt-5.6-terra |
o3-deep-research 2025-06-26 | Nov 19, 2026 | gpt-5.6-sol |
o4-mini 2025-04-16 | Nov 19, 2026 | gpt-5.6-terra |
gpt-5 2025-08-07 | Feb 9, 2027 | None listed |
gpt-5-nano 2025-08-07 | Feb 9, 2027 | None listed |
gpt-5-pro 2025-10-06 | Apr 7, 2027 | None listed |
gpt-5-mini 2025-08-07 | Jul 13, 2027 | None listed |
o3ando3-proretire on Azure on November 19, 2026, before OpenAI's December 11 date (Microsoft). On Azure, that's your deadline.- On OpenAI's API,
o1,o1-pro,o3-miniando4-minialready shut down on October 23, 2026, ando3-deep-researchon July 23, 2026 (OpenAI deprecations). On Azure they still run until November 19, 2026. - The GPT-5 family runs longer on Azure:
gpt-5andgpt-5-nanountil February 9, 2027,gpt-5-prountil April 7, 2027 andgpt-5-miniuntil July 13, 2027 (Microsoft). Microsoft's schedule lists no replacement for them.
Check which platform your code calls
The same model ID can carry two dates. Before you plan anything, find out where each call actually goes.
- The
OpenAIclient calls OpenAI's API unless you give it another base URL. The Python SDK also readsOPENAI_BASE_URLfrom the environment (openai-python), so check your env files, not only the code. - The
AzureOpenAIclient, anAZURE_OPENAI_ENDPOINTvariable or an endpoint on anazure.comhost means Azure (openai-python). - Wrappers hide this, so read how they're set up, not only the model string. LangChain, for example, has separate
ChatOpenAIandAzureChatOpenAIclasses. - If you call both, say OpenAI in development and Azure in production, plan for whichever date comes first.
Find every place your code names them
Search the whole repository, not only the source folders. These two ripgrep searches catch the short names and the dated snapshots, and skip newer models that share a prefix, like gpt-5.6-sol or o3-mini:
rg -nP '\bgpt-5(-(mini|nano|pro))?(-[\d-]{10})?(?![\w.-])'
rg -nP '\bo3(-pro)?(-[\d-]{10})?(?![\w.-])'Then check the places a search misses or people forget:
- Config and env files:
.env,.env.example, YAML and JSON settings, Helm values. A line likeOPENAI_MODEL=gpt-5counts. - Values that live outside the repo: CI secrets and variables, your host's environment settings, feature flags, and database rows where users or admins pick a model.
- Names built at runtime.
f"gpt-5-{size}"never matches a search forgpt-5-mini. Run a loose search forgpt-5ando3too, and read the hits. - Evals, test fixtures and recorded API responses. They often pin the old ID, and they'll fail or go stale after the switch.
- Docs, notebooks and code samples people copy from.
- Azure infrastructure files: Bicep, ARM templates or Terraform that create deployments. Search those for the model name and its version too, for example
2025-04-16foro3.
What to test before you switch
Changing the ID is one line. The behavior behind it isn't. Run a set of real requests through the old and new model and compare them side by side. We suggest 50 to 100 recent ones from your logs, covering your main use cases.
- Output format. If you parse the output, check every parser: JSON, markdown, fixed labels. Length and tone change too, which matters when people read the answer directly.
- Tool calls. Check the new model calls the same tools with the same argument shapes and handles your error results. Watch for calls it makes that the old one didn't.
- Reasoning effort.
gpt-5acceptsminimal,low,mediumandhigh(OpenAI's model page). The 5.6 models listnone,low,medium,high,xhighandmax, withmediumas the default (gpt-5.6-solmodel page). If your code sendsminimal, pick another value and test it. - Pro mode. For
gpt-5-proando3-pro, setreasoning.modetoproongpt-5.6-sol. It's a Responses API setting, and OpenAI says it uses more tokens and costs more than standard mode (reasoning guide). - Cost. Reasoning tokens are billed as output tokens (reasoning guide). Compare total tokens per request on your test set, rather than the price per token alone.
- Speed and limits. Time the slow cases, and check your account's rate limits for the new model before you move all your traffic.
- Rollout. Ship behind a flag or to a share of traffic first (our suggestion: 10% for a day), and keep the old ID ready to switch back to until the shutdown date.
On Azure, you move the deployment
With the AzureOpenAI client, the model argument is your deployment name (openai-python). You picked that name when you created the deployment. It might be gpt-5, or it might be chat-prod. The model and its version live on the deployment, not in your code.
So a code search can miss Azure usage entirely. List your deployments with the Azure CLI and read each one's model name and version:
az cognitiveservices account deployment list \
-g my-group -n my-account- Create a new deployment of the replacement. For
o3, Microsoft listsgpt-5.6-sol. - Run your test set against the new deployment.
- Point your config at the new deployment name, or move a share of traffic first.
- Remove the old deployment once nothing calls it.
If your deployment names match model names, rename on the way. A deployment called gpt-5 that runs gpt-5.6-sol will trip up the next person who reads the config.
Where Since.dev fits
Since.dev tracks every model's retirement on each platform that serves it, from the publishers' own pages, and matches the date to the platform your code calls. OpenAI's dates are on the OpenAI retirement calendar.
- For a repository you scan or connect, it finds the exact file and line that names the model, with the days left and the replacement. You can scan any public GitHub repository without signing in.
- A coding agent can call
check_codewith a model ID through the MCP server. - On Team and up, it opens a fix pull request that swaps the model, ready for review. Your CI runs, people decide, and nothing merges or deploys.
- On Azure the move is the deployment's, so it says what to change instead of opening a pull request.
Questions
Does the gpt-5 alias shut down too, or only the dated snapshot?
Both. OpenAI's notice lists gpt-5 together with gpt-5-2025-08-07, and the same goes for the mini, nano and pro pairs and for o3 and o3-pro. All of them stop on December 11, 2026.
When does o3 retire on Azure?
November 19, 2026, along with o3-pro, o1, o1-pro, o3-mini, o3-deep-research and o4-mini. That's earlier than OpenAI's December 11 date, so on Azure you have less time.
What replaces gpt-5-pro and o3-pro?
gpt-5.6-sol with reasoning.mode set to pro, in the Responses API. Pro mode uses more tokens than standard mode, so check the cost on your own requests first.
What happens if I miss the date?
OpenAI says a shut-down model is no longer accessible. Calls to it fail, so anything still using it stops working until you ship the new ID.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp