ClaudeHowSupport Us

Migrating: Haiku 4.5 to Haiku 5.5

What changes

FromTo
ModelHaiku 4.5Haiku 5.5
Input / MTok$1$0.10
Output / MTok$5$0.50
Long-prompt input / outputsame at any length$0.50 / $2.50 over 100K
Cache read / MTok$0.10$0.01
Min cacheable prefix4,096512
Context window200K1M
Effort levelsnonelow, medium, high, xhigh, max
Effort default—medium
ThinkingFixed budget_tokens, off unless requestedOn by default — can be disabled
Forced tool_choiceacceptedaccepted

Cheaper per token, priced by prompt length, and stricter about requests

This is the move Anthropic names as the default upgrade for Haiku workloads. On the rate card it looks like a straight cut: the base rates in the table above are a fraction of Haiku 4.5's. Two things narrow the gap. The tokenizer counts more tokens for the same text, so recount real prompts with count_tokens before comparing invoices. And Haiku 5.5 bills by prompt length — a request whose prompt passes the threshold pays the second rate card for all of its tokens, while Haiku 4.5 charges one price at any length. A pipeline that grows into the larger context window changes price as well as size.

What breaks

Thinking budgets. thinking: {type: "enabled", budget_tokens: N} is rejected; send adaptive thinking (or omit the field) and choose an effort level instead. Sampling parameters. Non-default temperature, top_p and top_k return a 400 — the classic temperature: 0 classification route needs structured outputs or an enum-valued tool instead. Prefill. A final assistant turn is rejected even with thinking off; end messages with a user turn. Computer use on the Claude API and Google Cloud needs the computer toolset. History edits. Changing system, tools or earlier messages invalidates replayed thinking blocks, so conversations must stay append-only.

What changes without breaking

Thinking now runs by default, so responses can open with thinking blocks — read content blocks by type, not by position, and give short-answer routes enough max_tokens for the thinking too, or lower the effort. Thinking text comes back empty unless you ask for summaries. Refusals are new for this line, and there is no server-side fallback for them, so handle the refusal stop reason in your own code. On the plus side, prompts too short to cache on Haiku 4.5 now cache, and the context window and output cap grew to the size of the larger models'.

See Claude Haiku 5.5 for the full limits, Sonnet 5.5 vs Haiku 5.5 if the workload might belong a tier up, and prefill is not supported for the most common first error after switching.

Verified 2026-10-28 against claude-api skill — shared/models.md, model-migration.md + SKILL.md model table and Anthropic's pricing and model-deprecation pages (canonical: https://platform.claude.com/docs/en/about-claude/models/overview, https://platform.claude.com/docs/en/about-claude/pricing, https://platform.claude.com/docs/en/about-claude/model-deprecations).Could not confirm: None of the pages we read states a launch date, so none is shown. Forced tool_choice is accepted but skips thinking, and there is no server-side fallback when a request is refused.