Claude Haiku 5.5 is not a drop-in rename of Haiku 4.5. Anthropic released it on 7 October 2026 as claude-haiku-5-5, with a 1M-token context window, 128K output tokens and adaptive thinking on by default1. The same release makes five request shapes fail with a 400: temperature, top_p, top_k, manual extended thinking with budget_tokens, and an assistant message prefill1. Prices also change shape: Haiku 5.5 charges one rate for prompts up to 100,000 tokens and a higher one above2.
This guide covers what changes from Haiku 4.5, what the two price bands do to a bill, how to replace prefill, when Sonnet 5.5 is the better choice, and an evaluation plan for the move.
What changes from Haiku 4.5
| Claude Haiku 4.5 | Claude Haiku 5.5 | |
|---|---|---|
| Claude API id | claude-haiku-4-5-20251001 or claude-haiku-4-5 | claude-haiku-5-5 (fixed, no alias) |
| Context window | 200K tokens | 1M tokens |
| Max output | 64K tokens | 128K tokens |
| Thinking | Extended thinking with budget_tokens | Adaptive, on by default, steered by effort (default medium) |
| Sampling parameters | Accepted | 400 error |
| Assistant prefill | Accepted with thinking off | 400 error, even with thinking off |
| Tokenizer | Earlier | Same text is about 30 percent more tokens |
| Minimum cacheable prompt | 4,096 tokens | 512 tokens |
| Input / output per million | $1 / $5 | $0.10 / $0.50 up to 100K prompt tokens; $0.50 / $2.50 above |
| Priority Tier | Supported | Not supported |
The figures come from Anthropic's own pages3452. Three rows deserve more than a glance.
Thinking is on unless you turn it down. A response can now start with thinking blocks even when the request never mentions thinking, and by default those blocks carry an empty thinking field and only a signature4. Code that reads content[0].text as the answer breaks. Thinking tokens count toward max_tokens, so a small limit tuned for Haiku 4.5 can stop with stop_reason: "max_tokens" after a thinking block and before any text4. Thinking blocks from earlier assistant turns also stay in context and count as input tokens, where Haiku 4.5 kept only the latest turn's3.
Token counts move. Haiku 5.5 uses the tokenizer introduced with Claude 4.7, and Anthropic says the same input text produces approximately 30 percent more tokens than on Haiku 4.5, depending on the content4. Large images cost more too: Haiku 5.5 uses the high-resolution image tier, and Anthropic's example is a 2,000 by 1,500 pixel image costing about 2.5 times as many visual tokens4. Every max_tokens value, context-trimming rule and cost estimate measured on Haiku 4.5 needs recounting with model set to claude-haiku-5-5.
Refusals are a stop reason you must handle. Haiku 5.5 runs safety classifiers that can decline a request with stop_reason: "refusal", and Anthropic notes that server-side fallback is not available for it3.
The two-band price, worked through
Haiku 5.5 is the one current Claude model with long-context pricing. Anthropic's pricing page says a request whose prompt is over 100,000 tokens pays the higher prices, that the prompt length counts all input tokens including cache reads and cache writes, and that each request is priced on its own: a request over the threshold pays the higher prices even when part of the prompt is a cache hit2.
| Prompt length | Input | 5-minute cache write | Cache read | Output | Batch input / output |
|---|---|---|---|---|---|
| Up to 100,000 tokens | $0.10 | $0.125 | $0.01 | $0.50 | $0.05 / $0.25 |
| Over 100,000 tokens | $0.50 | $0.625 | $0.05 | $2.50 | $0.25 / $1.25 |
US-only inference (inference_geo: "us") applies a 1.1x multiplier to all of these, including the higher band2.
The token counts are hypothetical; the shape is not. Two things follow. First, the tokenizer change alone can push prompts that sat under 100,000 tokens on Haiku 4.5 over the line on Haiku 5.5. Second, long-context workloads such as whole-document review or agent loops that accumulate history should be measured for the share of requests above 100,000 tokens, because those requests set the bill. Context editing and thinking-block clearing, which Anthropic links from the migration guide, are the levers for keeping a conversation under the line4.
Replacing prefill
A prefill is a final assistant turn that the model continues. Teams used it to force JSON by starting the answer with {, to skip a preamble, or to resume a cut-off answer. Haiku 5.5 rejects it with a 400 even when thinking is off4. Anthropic's guide names a replacement for each use4:
| What the prefill did | Replacement on Haiku 5.5 |
|---|---|
| Forced an output format | Structured outputs, or a tool with enum fields for classification |
| Removed a preamble | Ask for a direct answer in the system prompt |
| Continued an interrupted answer | Quote the earlier text in a user message and ask the model to continue |
| Added a context reminder | Put it in the user turn |
For format control, structured outputs are generally available on the Claude API and the major cloud platforms, use output_config.format with type: "json_schema", and list claude-haiku-5-5 as supported6:
{
"model": "claude-haiku-5-5",
"max_tokens": 1024,
"output_config": {
"effort": "low",
"format": {
"type": "json_schema",
"schema": {
"type": "object",
"properties": {
"category": { "type": "string", "enum": ["billing", "bug", "account", "other"] },
"urgent": { "type": "boolean" }
},
"required": ["category", "urgent"],
"additionalProperties": false
}
}
},
"messages": [{ "role": "user", "content": "Classify this ticket: ..." }]
}Know the limits before you rely on it. The structured outputs guide lists unsupported schema features, including numeric and string-length constraints and recursive schemas, which return a 400; the first use of a schema adds latency while its grammar compiles, and compiled grammars are cached for 24 hours from last use6. Changing output_config.format also invalidates the prompt cache for that conversation6. Validate the parsed result in your own code anyway: a valid shape is not a correct answer.
Migration steps
Anthropic's checklist for a Haiku 4.5 caller is ten items4. In the order that avoids surprises:
- Change the model id per platform:
claude-haiku-5-5on the Claude API, Claude Platform on AWS, Google-managed Vertex and Microsoft Foundry;anthropic.claude-haiku-5-5on Amazon Bedrock. - Remove
temperature,top_pandtop_k. API version 2026-10-21 removes them for every model anyway7. - Replace
thinking: {"type": "enabled", "budget_tokens": N}with adaptive thinking and setoutput_config.effort. Where Haiku 4.5 ran without thinking to save tokens, choose a lower effort. - Select response content blocks by
type, never by position, and pass thinking blocks back unmodified with tool results. - End every
messagesarray with a user turn, replacing prefill as in the table above. - Recount prompts on Haiku 5.5, then raise
max_tokenswhere thinking now shares the budget. - Handle
stop_reason: "refusal". - If you use computer use, move from
computer_20250124to thecomputer_toolset_20260801toolset (Bedrock:computer_20251124). - Keep conversations append-only if you send thinking blocks back: changing
system,toolsor earlier turns now invalidates them with a 400. - Replay stored conversations through the account that produced them; Haiku 5.5 thinking blocks work only in that account or one linked to it.
If your organization has a Priority Tier commitment on Haiku 4.5, plan capacity separately: Priority Tier is not supported on Haiku 5.54.
Haiku 5.5 or Sonnet 5.5
Anthropic describes Haiku 5.5 as built for high-volume, latency-sensitive work such as classification, routing, extraction and subagent tasks, with the fastest comparative latency in the current lineup; Sonnet 5.5 is "the best combination of speed and intelligence" at $2 input and $10 output per million tokens, and its default effort is high where Haiku's is medium5. All four current models share a 1M-token window and 128K output5.
Haiku 5.5 loses when the task needs judgement it cannot supply: a long multi-step agent turn, ambiguous instructions, code that has to compile. A cheap call that fails and is retried, escalated or corrected by a person is not cheap. Sonnet 5.5 loses on high-volume, well-specified work where Haiku already succeeds: its list rates are 20 times Haiku's lower band and four times Haiku's higher band, so even long prompts above 100,000 tokens usually cost less on Haiku if Haiku gets the task right. The defensible way to decide is cost per successful task on your own traffic, not either model's list price.
For leaders, the question to put to the team is short: which workloads have been qualified on Haiku 5.5, what share of their requests cross 100,000 prompt tokens, and what the failure rate is against the current model.
An evaluation plan
- Sample real traffic. Take a few hundred recorded requests per workload, including the longest ones, with the exact parameters your code sends after the changes above.
- Run both models. Haiku 4.5 as the baseline, Haiku 5.5 at two effort levels, and Sonnet 5.5 where the task is borderline.
- Score outcomes, not style. Task success against a rubric or labelled answers, refusals, truncation (
stop_reason: "max_tokens"), schema failures, and latency to the first useful token. - Compute cost per successful task with the measured input, output and thinking tokens, priced at the right band per request.
- Shift in stages. A small share first, watch error rates and the response's reported model, then widen. Keep Haiku 4.5 as the fallback only while it is still active.
Moving Haiku traffic with INFRO
INFRO is a control plane that sits between your applications and the provider accounts you already hold. You connect your own Anthropic account, Anthropic bills you directly, and INFRO records each request that passes through it. Both anthropic/claude-haiku-5.5 and anthropic/claude-haiku-4.5 are in its model catalog.
See what you are moving. Usage analytics group requests, tokens, latency and estimated provider cost by model, project and key, so you can list every caller of Haiku 4.5 that goes through INFRO and see its token profile before and after.
Sampling parameters on the OpenAI-compatible endpoint. On /v1/chat/completions, INFRO does not send temperature, top_p or top_k to Claude 4.7 and later models, Haiku 5.5 included, and lists what it dropped in the X-INFRO-Params-Dropped response header (chat completions reference). It does not rewrite prefill: a request ending in an assistant turn still reaches Anthropic and is refused.
Shift without a deploy. A route lets an application name a route instead of a model id, so moving traffic from Haiku 4.5 to Haiku 5.5, or splitting it while you compare, is a configuration change. A model allowlist can block Haiku 4.5 once the move is done, so a missed caller fails loudly.
One limit to state plainly: INFRO's cost estimate for Haiku 5.5 uses the up-to-100,000-token rates, so a request over the line is estimated low until the catalog carries the second band. Your Anthropic invoice is the figure that counts; compare the two, and treat long-context Haiku 5.5 traffic in INFRO's estimates as a floor.
