◉CLAUDE LABJP
●2.1.310 — Monitor tool now works on Bedrock, Vertex and Foundry, and gateway failures are fixed (10/23)●2.1.307 — Fixes MCP failing to reconnect after sleep or a keychain lock (10/21). 2.1.306 also fixed the false claude -p login message●SONNET 4.5 — Retires on the Claude API on 11/30, 34 days left. Migrate to Sonnet 5.5●WINDOWS — Reports say hooks break silently only on Japanese-locale Windows; check the character encoding first●API — In API version 2026-10-21, passing temperature, top_p or top_k returns a 400 error●NEW — I Put a Ten-Line Promise File at the To…●2.1.310 — Monitor tool now works on Bedrock, Vertex and Foundry, and gateway failures are fixed (10/23)●2.1.307 — Fixes MCP failing to reconnect after sleep or a keychain lock (10/21). 2.1.306 also fixed the false claude -p login message●SONNET 4.5 — Retires on the Claude API on 11/30, 34 days left. Migrate to Sonnet 5.5●WINDOWS — Reports say hooks break silently only on Japanese-locale Windows; check the character encoding first●API — In API version 2026-10-21, passing temperature, top_p or top_k returns a 400 error●NEW — I Put a Ten-Line Promise File at the To…
Articles/Claude.ai
◉ Claude.ai/2026-10-27Advanced

Haiku 4.5's October 15 Floor Has Passed, but No Stop Date Has Been Set

An Active model's date in the deprecations table is a floor, not a schedule. Using the 60-day notice rule and past retirement gaps, here is how I audit pinned model IDs.

Claude API136Model DeprecationHaiku 4.5AuditOperations24

✦ Premium Article

I was auditing the Claude code samples on my own site against the deprecations table when one line in the script's output looked wrong.

claude-haiku-4-5-20251001, 76 files. The official table says "Not sooner than October 15, 2026", and today is October 27. The date passed twelve days ago.

My first reaction was to wonder whether I should turn everything red and fix it tonight. It turned out the answer was no. Below is how I read the date, and a script you can run on your own repository to do the same audit.

"Not sooner than" is a floor, not a schedule

The deprecations page lists a status and a date for every model, and the date means something different depending on the status.

StatusWhat the date meansExample (as of Oct 27)
RetiredThe day the model stopped workingclaude-opus-4-1-20250805 (Aug 5)
DeprecatedThe confirmed day it will stop workingclaude-sonnet-4-5-20250929 (Nov 30)
Active"Not sooner than": the earliest it can stopclaude-haiku-4-5-20251001 (Oct 15)

The same page promises at least 60 days' notice before a publicly released model is retired, and says affected customers are told by email and in the documentation. That lets you work backwards. An Active model cannot stop earlier than 60 days after a notice goes out. Even if a notice appeared today, the earliest date for Haiku 4.5 would be December 26, 2026.

The page does not define "Not sooner than", so reading it as a floor is my interpretation. The past retirements in the table at least do not contradict it.

ModelDeprecatedRetiredGap
claude-3-7-sonnet-202502192025-10-282026-02-19114 days
claude-3-5-haiku-202410222025-12-192026-02-1962 days
claude-3-haiku-202403072026-02-192026-04-2060 days
claude-sonnet-4-202505142026-04-142026-06-1562 days
claude-opus-4-1-202508052026-06-052026-08-0561 days
claude-sonnet-4-5-202509292026-09-302026-11-3061 days

Five of the six gaps sit between 60 and 62 days; one is 114. None is shorter than 60. For the Sonnet 4.5 deadline itself, I wrote up counting callers from the Usage CSV.

What happens if you call every past date "expired"

My first version of the script flagged anything with a date in the past. The output looked like this:

RETIRED     claude-3-5-sonnet-20241022   files=12
...
WATCH       claude-haiku-4-5-20251001    files=76   -12d

Haiku 4.5 landed with the same weight as models that really are gone, across 76 files, even though nothing has stopped and no notice exists. Left alone, a nightly check like that shows the same red every night, and a real Deprecated entry would disappear into it.

Two things went against my intuition. A past date on an Active model does not mean it has been retired. And a future date on a Deprecated model is more urgent than an Active one, because the deadline is confirmed. The classes had to be built from status plus the meaning of the date, not from before and after today.

✦

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
✦You can now tell whether a passed date in the deprecations table means a confirmed stop, before you start a panicked bulk replace
✦You can now put a nightly check in your own repo that does not raise false alarms, because it knows what the date means for Active, Deprecated and Retired
✦You will be able to decide today what to finish first inside the 60-day window, so the morning a notice arrives is calm
Secure payment via Stripe · Cancel anytime
✦

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

Related Articles

◉ Claude.ai2026-10-27
A Retirement Notice Landed This Morning: Three Screens to Open Before You Change Anything
An English deprecation email from Anthropic arrives and you don't write code. Here are three things to check first: whether it concerns you, what the date really means, and who to tell what.
◉ Claude.ai2026-10-04
claude-sonnet-4-5 stops on November 30 — I checked the bill before calling its replacement cheaper
claude-sonnet-4-5-20250929 retires on November 30, 2026. The recommended claude-sonnet-5-5 has lower list prices, but a new tokenizer and a 400 on temperature change the math. After reading, you can audit your own calls and plan the switch in order.
⬡ API & SDK2026-05-12
Combining Haiku 4.5, Streaming, and Prompt Caching to Cut Costs in a Personal App — An Implementation Record
A hands-on record of combining Claude Haiku 4.5, streaming, and prompt caching to improve both cost and response speed in a personal iOS/Android app — including the mistakes made along the way.