GPT-4o and GPT-4.1 shut down on January 14, 2027: what breaks when you move to a reasoning model
On October 14, 2026 OpenAI announced that these models shut down on January 14, 2027:
gpt-4o-2024-08-06andgpt-4o-2024-11-20gpt-4o-mini-2024-07-18gpt-4.1-2025-04-14andgpt-4.1-mini-2025-04-14- fine-tuned models built on any of them
That is 92 days of notice. The listed replacement is gpt-6-luna.
Why this one is bigger than the others
GPT-4o and GPT-4.1 are the largest installed base on the platform. They are the default model in many SDKs, plugins and no-code tools, so plenty of teams are calling them without having chosen to. The gpt-4o alias resolves to gpt-4o-2024-08-06, so code that never pinned a snapshot breaks too.
The October 23 shutdown made this worse. Teams whose gpt-3.5-turbo or gpt-4.1-nano calls started returning 404 model_not_found often fixed them by switching to gpt-4o or gpt-4o-mini. Those fixes have an expiry date of January 14.
What changes when you move to gpt-6-luna
gpt-6-luna is a reasoning model. Changing the model name is not the migration. Four things need checking.
1. Tool calls
Function calling over Chat Completions works only with reasoning_effort: none. If a call needs both reasoning and tools, move it to the Responses API. Agents that loop over tool calls are the most likely to break quietly: they keep running, but call the wrong tool or stop early.
2. Sampling and token parameters
temperature and max_tokens can be rejected. Remove temperature, and set the output limit with the parameter the reasoning models accept (max_completion_tokens on Chat Completions, max_output_tokens on the Responses API). Look for these in wrappers, gateway configs and framework defaults too, not just in your own calls.
3. Latency and cost
A reasoning model has a different latency and cost profile, even for the same prompt. Measure both on your own traffic before release, especially on endpoints with a latency budget.
4. Fine-tunes
Fine-tunes of these models shut down too. And from January 6, 2027, existing customers can no longer create new fine-tuning jobs on OpenAI, so you can’t simply retrain on the replacement. The usual path is better prompting plus retrieval, checked against the evaluation set you used for the fine-tune.
If you need more time
Azure keeps the non-fine-tuned versions of gpt-4o and gpt-4.1 until April 14, 2027. Routing those calls through Azure buys about three months. It is a reasonable bridge, but it is a second migration later, and fine-tuned models are not covered.
A migration checklist
- Inventory every model ID. Search code, environment files, LLM gateway configs (LiteLLM and similar), prompt templates and no-code steps. Include indirect references: a helper that builds the model name from parts will not show up in a simple search.
- Move model names into one config. The next shutdown should be a one-line change.
- Capture a replay set now. Take 50 representative prompts with the outputs your users get today. After January 14 you can no longer generate the baseline.
- Change the parameters. Remove
temperature, move token limits to the supported parameter, and setreasoning_effort: noneon Chat Completions calls that use tools, or move them to the Responses API. - Replay and compare. Run the 50 prompts on the old and new model. Compare quality, latency and cost per call, and look hardest at tool-call arguments and structured outputs.
- Release behind a flag. Keep the rollback path until error rates and user reports are steady.
The exposure check finds the model IDs and parameter patterns in pasted code without sending anything from your browser. If you want the whole migration done for you, the migration sprint covers all six steps in five business days.