Two hard model cutoffs land within 48 hours of each other, on July 23 and July 24, 2026, and neither one degrades gracefully. On July 23, 2026, OpenAI shuts down a batch of legacy Codex-lineage snapshots. On July 24, 2026, Anthropic removes fast mode from Opus 4.7 — and after that, the request does not fall back to standard speed, it returns a hard error. If you pin model IDs anywhere in production, this is a two-day window you plan for now, not on Thursday morning when a deploy starts throwing 400s.
We pin model IDs across our own production stack, and when we audited it for this cutover we found three services still calling claude-opus-4-7 with speed: "fast" and two build scripts hard-coded to a Codex snapshot on the July 23 shutdown list — every one of them a silent failure waiting for a mid-week deploy.
That audit is the whole point of this piece. Below is the checklist we ran, in order: what to inventory, what to swap each ID to, and how to confirm the migration before the deadline hits instead of after. It applies whether you call these models directly on the API or through an IDE extension that pins them for you.
Prerequisites: know what you are actually running
Before you change a single line, you need an honest inventory. A forced migration is the cheapest moment to audit your model usage, because you are already paying the cutover cost (Developers Digest).
Gather three things first:
- Every place a model ID string is written down — application code, config files, CI/CD build scripts, IDE extension settings, and any internal SDK wrapper.
- Which surface each call goes through. The Codex retirement hits the ChatGPT Codex product and the API deprecation schedule differently, so the same model name can mean two migration paths.
- Your current spend per model, so you can tell whether the forced move helps or hurts your bill.
If you have never centralized model IDs, that is the real lesson of this cutover: a single constant or environment variable per model turns a cross-repo scramble into a one-line change. We wrote about the same discipline when we rebuilt our own model-cost plan after the Fable 5 billing shift.
Step 1 — Inventory every pinned model ID
Grep the entire codebase, not just the app. Model IDs hide in test fixtures, notebooks, and deploy scripts.
grep -rEn "gpt-5\.[0-3]-codex|gpt-5\.2|claude-opus-4-7" . \
--include=*.{py,ts,js,json,yaml,yml,sh,env}
Expected output: a list of file:line hits. Failure mode: a zero-result run usually means your IDs are built by string concatenation ("gpt-5." + minor + "-codex") — search for the prefix alone and for any speed or fast flags too.
For every hit, record the model ID, the surface, and whether it is on a shutdown list. That table is your migration worklist.
Step 2 — Migrate the Codex snapshots before July 23
OpenAI's deprecations page lists a 2026-07-23 shutdown date for a set of legacy snapshots, each with a named substitute model to move to (OpenAI API deprecations). Separately, inside the ChatGPT Codex product, OpenAI has been retiring GPT-5.2 and GPT-5.3-Codex, pushing users onto GPT-5.5 as the general successor (OpenAI Developer Community, SecurityOnline).
Do the swap surface by surface:
- API callers: replace each deprecated snapshot with the exact substitute ID from the deprecations table. Do not guess the successor — the table names it.
- Codex CLI / ChatGPT users: point workflows at GPT-5.5. First-party reports note it reasons longer and consumes more tokens than the 5.3-Codex it replaces, so budget for that (OpenAI Developer Community).
Failure mode to test for: a snapshot that still resolves but 404s on July 23. Send one live request per migrated ID before the cutoff; a pinned ID that resolves is not proof it survives the shutdown.
This is also the cheapest moment to re-evaluate the provider entirely — you are paying the eval cost either way, so testing a third model in the same run costs one more column in the spreadsheet. That framing is the same one we apply to any vendor cutover, the way we treated the Apple–OpenAI dispute as a diligence trigger.
Step 3 — Swap Opus 4.7 fast mode before July 24
Anthropic deprecated fast mode for Opus 4.7 on June 25, 2026, with removal set for July 24, 2026 (Anthropic changelog). This is the sharper of the two cutoffs. After removal, any request to claude-opus-4-7 carrying speed: "fast" returns a hard error — there is no silent fall-through to standard speed (CLSkills Hub).
The fix is a model-ID change, not a code rewrite:
- model: "claude-opus-4-7"
- speed: "fast"
+ model: "claude-opus-4-8"
+ speed: "fast" # requires the fast-mode-2026-02-01 beta header
Fast mode is available for Opus 4.8 as a research preview on the Claude API: set speed: "fast" with the fast-mode-2026-02-01 beta header for up to ~2.5x higher output tokens per second at premium pricing (Anthropic — What's new in Opus 4.8).
The base swap is low-risk on cost. Opus 4.8 shipped on May 28, 2026 at the same $5 / $25 per million tokens list price as 4.7, while scoring meaningfully higher — 69.2% vs 64.3% on SWE-bench Pro — and running a 1M-token context by default on the API (Ofox, Qcode, genai unplugged). It has been generally available since late May, so this is a move to a shipped, mature model, not a beta gamble (Decode the Future).
Failure mode to test for: the beta header. Teams that change only the model ID and forget the fast-mode-2026-02-01 header get standard-speed billing and latency without an error — the request works, but you quietly lost fast mode.
Step 4 — Re-run evals and re-model the cost
A successor model is not a drop-in even when the price matches. GPT-5.5 reasons differently from the Codex snapshots it replaces, and Opus 4.8 makes more deliberate reasoning passes than 4.7. Both change your token consumption and latency profile.
Run the checklist to close:
- Re-run your own eval suite against every migrated ID. Do not trust benchmark deltas as a stand-in for your workload — measure on your tasks, the way we do when we compare models on cost per task rather than headline scores.
- Re-model spend from real post-migration token counts, not the old model's numbers.
- Redeploy and send one live probe per ID after each provider's cutoff has passed, to confirm nothing pinned a retired snapshot.
Miss the window and the failure is not subtle: Codex calls start 404-ing on July 23, and Opus 4.7 fast-mode calls hard-error on July 24. Both are the kind of Thursday incident that a Tuesday audit prevents.
Frequently asked questions
What exactly happens on July 23, 2026? OpenAI shuts down a set of legacy model snapshots listed on its deprecations page, each mapped to a named substitute; requests to a retired snapshot stop resolving (OpenAI API deprecations).
What breaks on July 24, 2026? Fast mode is removed from Opus 4.7. A claude-opus-4-7 request with speed: "fast" returns a hard error with no fallback to standard speed (CLSkills Hub).
What do I migrate Opus 4.7 fast mode to? Change the model ID to claude-opus-4-8 and include the fast-mode-2026-02-01 beta header to keep fast throughput (Anthropic).
Is Opus 4.8 more expensive than 4.7? The base list price is the same, $5 / $25 per million input/output tokens; fast mode itself is billed at premium rates (Ofox).
Where do Codex users go after the sunset? GPT-5.5 is the general successor inside the Codex product; API workloads should use the specific substitute IDs named on the deprecations page (OpenAI Developer Community).
Conclusion
Neither of these cutoffs is technically hard — each is a model-ID change plus, for Opus, one beta header. What is hard is knowing every place a retired ID is pinned before the deadline turns it into an outage. Run the inventory grep before July 23, swap the IDs, add the header, re-run your evals, and probe each ID after the cutoff. If you want a second set of hands on a model migration or a durable model-routing layer that survives the next mandatory cutover, that is the kind of work we do.
Sources
- OpenAI — API deprecations
- Anthropic — What's new in Claude Opus 4.8
- Anthropic Claude Developer Platform changelog
- OpenAI Developer Community — GPT-5.2 and GPT-5.3-Codex sunset
- CLSkills Hub — Claude fast mode removed July 24
- Developers Digest — Migrating off retired GPT models in 2026
- Ofox — Opus 4.7 to Opus 4.8 migration
- genai unplugged — Claude Opus 4.8 migration guide
- Qcode — 2026 AI coding updates
- Decode the Future — Claude Opus 4.8 explained
- SecurityOnline — OpenAI legacy model deprecation