Is GPT-3.5 Turbo Still Available? Shutdown Date + Migration

Quick answer. Yes. As of 23 August 2026, gpt-3.5-turbo still answers OpenAI API calls. It shuts down on 23 October 2026. gpt-3.5-turbo-instruct and gpt-3.5-turbo-1106 shut down earlier, on 28 September 2026. OpenAI's officially named replacement for all three is gpt-5.6-terra.

That is the status answer, and it is the easy part. The harder question — the one that actually costs you a weekend if you get it wrong — is what you replace it with. OpenAI names one model on its deprecations page and a different, now-outdated one on the gpt-3.5-turbo model page itself. The parameters you have been sending since 2023 return 400 errors on the recommended successor. And if you fine-tuned on gpt-3.5-turbo, the obvious migration target is also being shut down on the same day.

This page covers the exact dates, the real pricing, the code that breaks, and the fine-tune trap. Every figure below was checked directly against OpenAI's own documentation on 23 August 2026.

Is gpt-3.5-turbo still available right now?

Yes. It has not been switched off. You can still send a Chat Completions request with model: "gpt-3.5-turbo" today and get a normal response back. The alias still resolves to the gpt-3.5-turbo-0125 snapshot, with a 16,385-token context window, at $0.50 per 1M input tokens and $1.50 per 1M output tokens.

What is not available is GPT-3.5 in the ChatGPT app. That ended in July 2024, when GPT-4o mini took its place. The confusion between "gone from ChatGPT" and "gone from the API" is why this question keeps getting asked — they happened two years apart.

Here is the whole situation in one block, current as of 23 August 2026:

Model IDStatus todayShutdown dateOpenAI's named replacement
gpt-3.5-turbo (alias → -0125)Live, deprecated23 October 2026gpt-5.6-terra
gpt-3.5-turbo-instructLive, deprecated28 September 2026gpt-5.6-terra
gpt-3.5-turbo-1106Live, deprecated28 September 2026gpt-5.6-terra
ft-gpt-3.5-turbo (your fine-tunes)Live, deprecated23 October 2026Retrain required — see below
-0301 / -0613 / -16k-0613Already retired (2024)

Verified against OpenAI's deprecations page and the individual model reference pages on 23 August 2026.

What is the exact gpt-3.5-turbo retirement date?

23 October 2026 for gpt-3.5-turbo / gpt-3.5-turbo-0125 and for fine-tuned models built on it. That deprecation was announced on 22 April 2026.

There is a detail here that a lot of write-ups get wrong, including an earlier version of this page: gpt-3.5-turbo-1106 does not share the October date. It was deprecated in a separate, earlier notice on 26 September 2025 and is scheduled to shut down on 28 September 2026 — the same day as gpt-3.5-turbo-instruct, babbage-002 and davinci-002. If you pinned -1106 to avoid snapshot drift, you have roughly a month less runway than everyone else, not the same amount.

From today, 23 August 2026, that means 36 days for -1106 and -instruct, and 61 days for the main alias and your fine-tunes.

The 23 October wave is large. It also takes gpt-4-0613, gpt-4-1106-preview, gpt-4-turbo, gpt-4.1-nano, gpt-4o-2024-05-13, gpt-image-1, o1-2024-12-17, o1-pro, o3-mini and o4-mini. That matters when you pick a migration target: two of the models people most commonly migrate GPT-3.5 workloads onto are on that same list.

What does OpenAI officially name as the replacement?

OpenAI's deprecations page lists gpt-5.6-terra as the recommended successor for gpt-3.5-turbo-0125, gpt-3.5-turbo-1106, gpt-3.5-turbo-instruct and ft-gpt-3.5-turbo. That is the official answer, and it is the one to quote in a migration ticket.

It is also worth knowing that OpenAI's docs currently contradict themselves on this. The gpt-3.5-turbo model reference page still carries the 2024-era line: "As of July 2024, use gpt-4o-mini in place of GPT-3.5 Turbo, as it is cheaper, more capable, multimodal, and just as fast." That guidance is two years stale and predates the entire GPT-5 line. The deprecations page is the newer and more authoritative of the two.

To be precise about a claim that gets overstated elsewhere: gpt-4o-mini itself has no announced shutdown date. It is the original gpt-4o-2024-05-13 snapshot that dies on 23 October, not the mini. So migrating to gpt-4o-mini will not break in October — it is simply an older generation than what you can get for similar money today.

Which model should actually replace gpt-3.5-turbo for your use case?

gpt-5.6-terra is the official answer, but it is a considerable step up in both capability and price. GPT-3.5 Turbo was never chosen for its intelligence — it was chosen because it was cheap and fast. If that is why you are on it, terra is not the like-for-like swap. Here is the real menu, with prices taken from OpenAI's model reference pages on 23 August 2026:

ModelInput / 1MCached input / 1MOutput / 1MContextBest for
gpt-3.5-turbo (today)$0.50$1.5016KThe baseline you are leaving
gpt-5-nano$0.05$0.005$0.40400KClassification, routing, extraction, tagging
gpt-4o-mini$0.15$0.60128KCheapest drop-in that keeps old sampling params
gpt-5.6-luna$0.20$0.02$1.201.05MThe true cheap-and-fast heir to GPT-3.5
gpt-4.1-mini$0.40$0.10$1.601.05MFine-tune replacements (see below)
gpt-5.6-terra$2.00$0.20$12.001.05MOpenAI's official pick; quality-first workloads

The short version of that table:

  • If your GPT-3.5 call is a classifier, router, tagger or extractor — something with a short output and a narrow job — go to gpt-5-nano. It is 10× cheaper on input than what you are paying now.
  • If it is general chat, summarisation or drafting — the classic GPT-3.5 workload — go to gpt-5.6-luna. It is cheaper than GPT-3.5 Turbo on input, has a 1.05M-token context window instead of 16K, a February 2026 knowledge cutoff, and prices cached input at $0.02 per 1M.
  • If the GPT-3.5 output quality was always the weak link and you have been patching around it with prompt engineering, take OpenAI's advice and go to gpt-5.6-terra. Budget for it — output is 8× the price of GPT-3.5.
  • If you need the migration to be a one-line change with zero parameter rework, gpt-4o-mini is the path of least resistance. It is not the best model on this list, but it is the only one that will accept your existing request payload unchanged.

What will the migration do to your bill?

Take a mid-sized production workload: 50M input tokens and 10M output tokens per month. At the prices above, the monthly API bill looks like this:

ModelInput costOutput costMonthly totalvs GPT-3.5
gpt-3.5-turbo$25.00$15.00$40.00
gpt-5-nano$2.50$4.00$6.5084% cheaper
gpt-4o-mini$7.50$6.00$13.5066% cheaper
gpt-5.6-luna$10.00$12.00$22.0045% cheaper
gpt-5.6-terra$100.00$120.00$220.005.5× more

Two things that table does not show, and both can swing it by a lot:

Prompt caching cuts the input side hard. If your requests share a long system prompt — and most production GPT-3.5 apps do — luna's cached input rate of $0.02 per 1M applies to the repeated prefix. On the same 50M/10M workload with 80% of input hitting cache, luna's input cost falls from $10.00 to about $2.80, taking the monthly total to roughly $14.80. That is cheaper than gpt-4o-mini, on a considerably better model.

Reasoning tokens are billed as output tokens. The GPT-5.6 models think before they answer, and that thinking is metered at the output rate. A request that returns 200 visible tokens but burns 2,000 reasoning tokens bills as 2,200 output tokens. If you leave reasoning_effort at its default, the output column above can multiply several times over. For workloads that were fine on GPT-3.5, set reasoning_effort="none" — you get GPT-3.5-like latency and a bill that matches the table.

What actually changes in your API request?

This is the part that surprises people. GPT-3.5 Turbo was a plain sampling model. gpt-5.6-luna and gpt-5.6-terra are reasoning models, and the reasoning-model request schema is subtractive — several parameters you have been sending since 2023 now return 400 Unsupported parameter.

# BEFORE — gpt-3.5-turbo
resp = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": prompt}],
    temperature=0.7,
    max_tokens=800,
)

# AFTER — gpt-5.6-luna
resp = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": prompt}],
    # temperature removed  -> 400 Unsupported parameter
    max_completion_tokens=800,   # was max_tokens
    reasoning_effort="none",     # keeps latency and cost GPT-3.5-like
)

text = resp.choices[0].message.content   # unchanged

The full list of parameters that are not supported on reasoning models: temperature, top_p, presence_penalty, frequency_penalty, logprobs, top_logprobs, logit_bias and max_tokens. Sending any of them is a hard error, not a silent ignore. max_tokens becomes max_completion_tokens on Chat Completions, or max_output_tokens on the Responses API — and both limits cover reasoning tokens as well as visible output.

The function-calling trap

If your GPT-3.5 integration uses function calling or tools through Chat Completions, there is one more thing to know before you swap the model string. On GPT-5.6, Chat Completions and function tools do not work together unless reasoning_effort is set to none. Because these models default to medium effort, simply sending a tools array is enough to trigger the error — you do not have to set reasoning_effort yourself to hit it.

You have two ways out. Either set reasoning_effort="none" on every request that carries tools, or move tool-calling traffic to the Responses API (/v1/responses), which supports the full range of effort values. The Responses route is the better long-term choice; the none flag is the fifteen-minute fix. Both beat discovering it in production on 24 October.

Parameter behaviour above verified against Microsoft's Azure OpenAI reasoning-models reference, updated 20 August 2026.

What happens to my fine-tuned gpt-3.5-turbo model?

It stops working on 23 October 2026, along with the base model. There is no automatic migration, no weight export, and no grace period for custom models. Your ft:gpt-3.5-turbo-0125:your-org:... model ID will simply stop resolving.

This is the segment with the most work to do and the least warning, because retraining is a project, not a string swap. And there is a trap in the obvious plan.

OpenAI currently supports supervised fine-tuning on exactly three base models: gpt-4.1-2025-04-14, gpt-4.1-mini-2025-04-14 and gpt-4.1-nano-2025-04-14. The GPT-5.6 models that OpenAI recommends for everyone else are not fine-tunable. So your realistic path is the GPT-4.1 family — except that gpt-4.1-nano and its fine-tunes (ft-gpt-4.1-nano-2025-04-14) are on the 23 October shutdown list too.

Retrain a GPT-3.5 fine-tune onto gpt-4.1-nano and you will have done the whole job twice, for nothing, and lost the same day. Use gpt-4.1-mini ($0.40 / $1.60 per 1M) or gpt-4.1 ($2.00 / $8.00 per 1M). Neither carries a shutdown date today.

Before you retrain, run the honesty check that a lot of 2023-era fine-tunes fail: much of what people fine-tuned GPT-3.5 for — consistent output format, a specific tone, staying inside a schema — is handled natively now by structured outputs and a decent system prompt on a stronger base model. Test gpt-5.6-luna with structured outputs against your eval set before you spend a fortnight rebuilding a training pipeline. If it clears the bar, you have skipped the retrain entirely and landed on a better model. If it does not, you still have your eval set ready for the GPT-4.1 fine-tune. For the general mechanics, our complete guide to fine-tuning LLMs in 2026 covers the hosted and open-weights routes side by side.

What if you are on gpt-3.5-turbo-instruct?

You have the shortest runway of anyone reading this — 28 September 2026, 36 days from today — and the largest code change.

gpt-3.5-turbo-instruct is a legacy Completions model. It takes a prompt string, not a messages array, and it has a 4,096-token context window at $1.50 input / $2.00 output per 1M — the only GPT-3.5 variant that is genuinely expensive for what it does. Its named replacement, gpt-5.6-terra, does not serve the legacy Completions endpoint at all.

So this is not a model-string swap. You are moving from client.completions.create(prompt=...) to client.chat.completions.create(messages=[...]) or to the Responses API, restructuring every prompt into a message array, and re-reading the response from choices[0].message.content instead of choices[0].text. On the upside, the context window goes from 4K to over a million tokens and the input price drops by 87%.

Choosing between the successors? Our GPT-5.6 Sol, Terra & Luna guide breaks down the three tiers on benchmarks and price, and the GPT-5.5 complete developer guide covers the wider OpenAI lineup.

Will my API calls start failing?

Yes, on the shutdown date, and the failure mode is an error rather than a silent fallback. After a model is retired, requests naming that model ID return an error instead of a completion. There is no automatic rerouting to a newer model, so an app that hardcodes gpt-3.5-turbo and does not handle the error path will surface a 4xx to your users.

Two practical consequences. First, if you have a fallback chain, make sure the fallback is not also on a shutdown list — a chain of gpt-3.5-turbogpt-4-turbo fails completely on 23 October, because both retire that day. Second, rate limits are per-model and per-tier, so a workload moving onto a new model ID starts against that model's limits, not the ones your GPT-3.5 traffic had earned. Do the switch with enough runway to watch for 429s under real load, not on the last afternoon.

What should you do this week?

A decision rule, in order:

  1. Grep for every GPT-3.5 reference now — code, config, env vars, notebooks, cron jobs, and any ft:gpt-3.5-turbo IDs. Search for gpt-3.5 as a substring so you catch the pinned snapshots too. This takes ten minutes and is the only step with no downside.
  2. If anything matched -instruct or -1106, that work is due first. 28 September, not October.
  3. Pick by output shape, not by brand. Short structured output → gpt-5-nano. General chat and summarisation → gpt-5.6-luna with reasoning_effort="none". Quality-critical → gpt-5.6-terra.
  4. Fix the parameters before you fix the model string. Strip temperature and friends, rename max_tokens, and handle the tools-plus-reasoning rule if you use function calling.
  5. Fine-tune owners: start today. Test structured outputs on a stock model against your eval set first; retrain onto gpt-4.1-mini or gpt-4.1, never gpt-4.1-nano.

Done in August this is an afternoon of work and a lower monthly bill. Left until the third week of October it is an incident. There is no cost argument for waiting — every sensible replacement on the list above is cheaper per token than GPT-3.5 Turbo except the one OpenAI officially recommends, and that one is cheaper than an outage.

If you would rather not be locked to a single vendor's deprecation calendar at all, the open-weights option has closed a lot of the gap — our open-source LLM landscape for 2026 covers what self-hosting actually costs at this scale.

Migration on the calendar, no one free to do it?

Deprecation migrations are exactly the work that gets pushed until it becomes an outage. Codersera connects you with vetted remote AI and backend engineers who can take it end to end.

Hire vetted remote developers →

FAQ

Is GPT-3.5 Turbo still available in 2026?

Yes. As of 23 August 2026, gpt-3.5-turbo still responds to OpenAI API calls at $0.50 / $1.50 per 1M tokens with a 16,385-token context window. It is deprecated and scheduled for shutdown on 23 October 2026. In the ChatGPT app it has been unavailable since July 2024, which is a separate change two years earlier.

Is GPT-3.5 Turbo deprecated?

Yes. OpenAI deprecated gpt-3.5-turbo-0125 and its fine-tuned variants on 22 April 2026, and deprecated gpt-3.5-turbo-1106 and gpt-3.5-turbo-instruct earlier, on 26 September 2025. Deprecated means still callable but scheduled for removal, so existing integrations keep working until the published shutdown date.

What is the gpt-3.5-turbo retirement date?

23 October 2026 for gpt-3.5-turbo, the gpt-3.5-turbo-0125 snapshot, and fine-tuned models built on it. 28 September 2026 for gpt-3.5-turbo-1106 and gpt-3.5-turbo-instruct. The older -0301, -0613 and -16k-0613 snapshots were retired back in 2024.

What should I use instead of gpt-3.5-turbo?

OpenAI officially names gpt-5.6-terra ($2 / $12 per 1M). For the cheap-and-fast role GPT-3.5 actually filled, gpt-5.6-luna ($0.20 / $1.20) is the closer match and still undercuts GPT-3.5 on input price. For classification and extraction, gpt-5-nano ($0.05 / $0.40) is the cheapest option.

What happens to my fine-tuned gpt-3.5-turbo model?

It stops serving requests on 23 October 2026 when the base model retires. There is no weight export or automatic migration, so you must retrain. Fine-tuning currently supports only the GPT-4.1 family, and gpt-4.1-nano retires on the same day, so retrain onto gpt-4.1-mini or gpt-4.1.

Will my API calls start failing?

Yes, on the shutdown date. Requests naming a retired model ID return an error rather than falling back to a newer model. Check that any fallback model in your chain is not also being retired — gpt-4-turbo and gpt-4-0613 share the 23 October date with gpt-3.5-turbo.

Can I just swap the model string to gpt-5.6-luna?

Not quite. Reasoning models reject temperature, top_p, presence_penalty, frequency_penalty, logprobs, logit_bias and max_tokens with a 400 error, and max_tokens becomes max_completion_tokens. If you use function calling on Chat Completions, you also need reasoning_effort="none" or the Responses API.

Is gpt-4o-mini a safe migration target?

It works — gpt-4o-mini has no announced shutdown date and accepts the old parameter set unchanged, which makes it the lowest-effort swap. But it is an older generation than gpt-5.6-luna for similar money, and OpenAI's own deprecations page points elsewhere. Treat it as a stopgap rather than the destination.