Migrating to GPT-5.6: The Official Table and the Method
On this page
Status as of November 5, 2026. For a new project, start with the GPT-6 family instead (Lesson 9). However, the GPT-5.6 models remain the official replacements for
gpt-5,o3, ando3-pro, which are being removed from the API on December 11, 2026. Meanwhile,o4-mini,o1, ando3-minihave already been retired as of October 23. The full deprecation schedule appears in Lesson 12.
This is the final lesson on the summer updates, and the most practical one: what do you do with code built on previous models? The answer comes in two parts. First, know the replacements OpenAI recommends, model by model. Second, execute a methodical migration, because it is precisely the “obvious” migrations that break production.
Official Replacements
OpenAI’s deprecations page lists the recommended replacement for every model that has been or is being retired:
| You were using | Recommended Replacement | API Removal |
|---|---|---|
gpt-5 | gpt-5.6-sol | December 11, 2026 |
gpt-5-mini | gpt-5.6-terra | December 11, 2026 |
gpt-5-nano | gpt-5.6-luna | December 11, 2026 |
o3 | gpt-5.6-sol | December 11, 2026 |
o3-pro and gpt-5-pro | gpt-5.6-sol in pro mode | December 11, 2026 |
o4-mini | gpt-5.6-terra | Already removed, October 23, 2026 |
o1 and o3-mini | gpt-5.6-sol | Already removed, October 23, 2026 |
gpt-5.1 and gpt-5.3-codex | gpt-6-sol | April 1, 2027 |
gpt-5.4-nano | gpt-6-luna | April 1, 2027 |
As of November 5, gpt-5.4 and gpt-5.5 do not appear on this list: they are still served by the API, even though GPT-5.5 left ChatGPT, ChatGPT Work, and Codex on October 14. For these, the table’s logic still applies: choose a model tier, then a reasoning effort.
Treat this table for what it is: a recommended replacement, not a guarantee of identical behavior. The only reliable match is the one your evaluations confirm.
In ChatGPT
If you use the interface, the migration happens without your intervention: o3 left ChatGPT on August 26, 2026, GPT-5.5 on October 14, and the model selector now shows only active models. The reflexes from our onboarding courses remain valid: formulate clearly, provide context, and iterate. What is aging is the model descriptions in your materials: “o3 for reasoning” belongs to the past. If you train teams, this is the point to update first.
In Your Code: The Five-Step Method
Start by inventorying identifiers: check your code, but also configuration files and environment variables, where identifiers often hide and a source-code search won’t find them. Until the inventory is complete, anything else is premature.
Second step: set the reasoning effort explicitly. Defaults have changed: gpt-5.4 did not reason if you specified nothing, while GPT-5.6 starts at medium (Lesson 4). minimal no longer exists and is replaced by low; o3-pro and gpt-5-pro are replaced by pro mode. A migration that misses this point changes latency and costs without warning.
Third step, the one most often skipped: re-run your evaluations. Measure quality, latency, and cost on your real use cases before switching anything to production. A team that migrates based on the table and discovers in production that a critical flow behaves differently has not saved time.
Fourth step: recalculate the budget. Prices have changed: Sol at $4 / $20 per million tokens until November 30, 2026; Terra at $2 / $12; Luna at $0.20 / $1.20; and reasoning tokens are billed as output tokens. Caching has changed too: since GPT-5.6, you set the cache lifetime with prompt_cache_options.ttl, defaulting to 30m or 12h, and cache writes are billed. The GPT-6 migration guide also asks you to replace the old prompt_cache_retention parameter when coming from GPT-5.5 or earlier.
Finally, evaluate Programmatic Tool Calling (Lesson 5). If your agents chain tool calls, this can reduce tokens and latency, but it is an architecture project separate from the identifier swap. Get the equivalence working first, then optimize.
Your Turn
Inventory in one command. At the root of a project, run the search below. It spots retired or soon-to-be-retired identifiers, ignoring current models like gpt-5.6-sol. For each result, note the replacement from the table, the reasoning effort to set, and the deadline.
grep -rnP '\b(o1|o3|o3-mini|o3-pro|o4-mini|gpt-5(-mini|-nano|-pro)?|gpt-5\.1|gpt-5\.3-codex|gpt-5\.4-nano)\b(?![.\w-])' .
Official Sources: Deprecations · Reasoning models · Prompt caching · Using GPT-6 (OpenAI API documentation) · Model release notes (OpenAI Help Center)
Key Takeaways
- The deprecations page gives an official replacement for every model: GPT-5.6 for
gpt-5ando3, GPT-6 forgpt-5.1 o4-mini,o1, ando3-miniare already retired;gpt-5ando3will be on December 11, 2026- Set the effort explicitly: defaults have changed,
minimalbecomeslow, and “pro” models becomepromode - No production switch without re-running your evaluations and recalculating the budget, including cache