OpenAI removes gpt-5, gpt-5-mini, gpt-5-nano, gpt-5-pro, o3, o3-pro and their dated snapshots from the API on Dec 11, 2026 (announced Jun 11, 2026).

Free Mon/Wed/Fri email + breaking shutdown alerts (every date linked to the official source): Subscribe at aideprecations.com/subscribe. Double opt-in. Confirming also unlocks the AI Model Migration Checklist and a personal .ics shutdown calendar.

Every affected model ID and its replacement

Model ID Platform Shutdown Replacement (provider wording)
gpt-5 OpenAI Dec 11, 2026 gpt-5.6-sol
gpt-5-2025-08-07 OpenAI Dec 11, 2026 gpt-5.6-sol
gpt-5-mini OpenAI Dec 11, 2026 gpt-5.6-terra
gpt-5-mini-2025-08-07 OpenAI Dec 11, 2026 gpt-5.6-terra
gpt-5-nano OpenAI Dec 11, 2026 gpt-5.6-luna
gpt-5-nano-2025-08-07 OpenAI Dec 11, 2026 gpt-5.6-luna
gpt-5-pro OpenAI Dec 11, 2026 gpt-5.6-sol (reasoning.mode: pro)
gpt-5-pro-2025-10-06 OpenAI Dec 11, 2026 gpt-5.6-sol (reasoning.mode: pro)
o3 OpenAI Dec 11, 2026 gpt-5.6-sol
o3-2025-04-16 OpenAI Dec 11, 2026 gpt-5.6-sol
o3-pro OpenAI Dec 11, 2026 gpt-5.6-sol (reasoning.mode: pro)
o3-pro-2025-06-10 OpenAI Dec 11, 2026 gpt-5.6-sol (reasoning.mode: pro)

Source: OpenAI API deprecations ("2026-06-11: GPT-5 and o3 model deprecations").

  • Fine-tuned models: OpenAI says fine-tuned versions follow the same shutdown schedule as their underlying base models.
  • Pro models: the replacement for gpt-5-pro and o3-pro is written as gpt-5.6-sol with reasoning.mode: pro — the model ID changes and you set a reasoning mode. Swapping the ID alone is not the documented replacement.
  • Aliases vs snapshots: both the alias (gpt-5) and the dated snapshot (gpt-5-2025-08-07) are on the list. Pinning a snapshot does not save you.
  • Azure OpenAI deployments follow Azure's own retirement schedule; check the Azure OpenAI page, not this date.

Step 1: Find every call site

rg -n --hidden -g '!node_modules' -e '"gpt-5(-mini|-nano|-pro)?(-20[0-9-]+)?"' -e '"o3(-pro)?(-20[0-9-]+)?"' . rg -n --hidden -g '*.{yml,yaml,json,toml,tf,tfvars}' -g '.env*' -e 'gpt-5' -e '\bo3\b' . 

Note the quotes in the first pattern: they avoid matching newer IDs like gpt-5.1 or gpt-5.6-sol. Review the hits by hand. Also check CI workflows, eval configs, LLM gateways/routers, feature flags, and fine-tune job configs.

Step 2: Map each model to its replacement

  • gpt-5, o3 → gpt-5.6-sol
  • gpt-5-mini → gpt-5.6-terra
  • gpt-5-nano → gpt-5.6-luna
  • gpt-5-pro, o3-pro → gpt-5.6-sol with reasoning.mode: pro

Confirm in OpenAI's model docs before switching.

Step 3: Re-test what actually breaks

  • Reasoning parameters: o3 and gpt-5 accept reasoning-effort settings; confirm which settings the replacement accepts and pin them explicitly.
  • Tool calls: validate every function call against your JSON schema and re-run multi-step agent loops end to end.
  • Structured outputs: parse every response with your production parser; compare refusal and truncation rates.
  • Cost and latency: measure on your own traffic; pro reasoning modes can be much slower.

Step 4: Roll out in stages before Dec 11

Model ID and reasoning settings in config, not code. Shadow traffic, then 1% → 10% → 50% → 100%. Finish at least a week before Dec 11, 2026.

Step 5: Guard against the day-after failure

Alert on model-not-found errors from the OpenAI SDK. Fail CI if any of the 12 retired IDs above appears in the repo.

Free checklist + alerts

Dates come from official provider pages. If a date looks wrong, open an issue against the source page first — that page is the source of truth.