· 7 min read
Claude Haiku 5.5: pricing, effort levels and migration
Claude Haiku 5.5 is Anthropic's cheap, fast model with a 1M context and adjustable effort. What it costs, how effort works and what breaks when you migrate.

Claude Haiku 5.5 is Anthropic's new small model for high-volume, latency-sensitive work: classification, routing, extraction, summaries and subagent tasks. It shipped on 7 October 2026 as claude-haiku-5-5, costs $0.10 per million input tokens and $0.50 per million output tokens for prompts up to 100,000 tokens, and is the first Haiku model with an adjustable effort setting. It also changes enough API behaviour that a straight model-ID swap from Haiku 4.5 can return errors.
So there are two things to understand: what the model is for, and what you have to change in your code to move to it.
What is Claude Haiku 5.5?
Haiku is the smallest tier in Anthropic's lineup, sitting below Sonnet and Opus. Haiku 5.5 keeps that role but raises the ceiling a lot. Anthropic positions it for narrow, repeated tasks and for speed-sensitive work such as live support and browser use, and says plainly that Sonnet 5.5 and Opus 5.5 remain the stronger choice for complex agentic coding.
The headline specs:
- Context window: 1M tokens, up from 200k on Haiku 4.5.
- Max output: 128k tokens, up from 64k.
- Adaptive thinking: on by default. Adaptive thinking means the model decides for itself whether a request needs reasoning and how much.
- Effort control: five levels, from
lowtomax, withmediumas the default. - Availability: the Claude API, Amazon Bedrock, Google Cloud and Microsoft Azure.
A common pattern it is designed for is the subagent: a cheaper model that a larger model hands small, well-scoped jobs to, such as pulling figures out of a document or summarising tool output, while the larger model plans and writes the final answer.
How much does Claude Haiku 5.5 cost?
Pricing is tiered by prompt length. Per million tokens:
| Input | Output | Cache read | Cache write | |
|---|---|---|---|---|
| Haiku 5.5, prompt up to 100k tokens | $0.10 | $0.50 | $0.01 | $0.125 |
| Haiku 5.5, prompt over 100k tokens | $0.50 | $2.50 | $0.05 | $0.625 |
| Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
That is a 90% cut for short prompts and 50% for long ones. Anthropic's average across workloads is about 75% cheaper than Haiku 4.5.
There is one catch in the arithmetic. Haiku 5.5 uses the newer tokenizer shared with Claude 4.7 and later models, and the same text comes out as roughly 30% more tokens than on Haiku 4.5. A tokenizer is the component that splits text into the units you are billed for, so a change here moves every cost estimate you have.
Take a classifier that sends a 2,000-token prompt and gets 200 tokens back on Haiku 4.5. That is about $3,000 per million requests. On Haiku 5.5 the same text becomes roughly 2,600 input and 260 output tokens, which works out to about $390 per million requests, before any thinking tokens. Still a large saving, but recount with your real prompts rather than reusing old numbers.
Prompt caching also got easier to use. The minimum cacheable prompt is now 512 tokens, down from 4,096, so shorter system prompts and tool definitions can be cached. The idea is the same as in explicit cache breakpoints on GPT-6: keep the stable prefix stable and put changing content last.
How does the effort parameter work?
Effort is a request setting that tells the model how many tokens to spend on a response, across thinking, text and tool calls. It is a behavioural signal, not a hard budget. You set it under output_config:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-haiku-5-5",
max_tokens=4096,
output_config={"effort": "low"},
messages=[
{"role": "user", "content": "Classify this ticket as billing, bug or other: ..."}
],
)
text = next(b.text for b in response.content if b.type == "text")
print(text)
Anthropic's guidance for Haiku 5.5 is roughly this:
lowfor chat, short tool calls and simple high-volume requests. In long agent prompts it is more likely to skip a check or stop early.medium(the default) for most work, including agentic tasks.highfor knowledge work, longer agent runs and strict instruction following.xhighandmaxonly where your own evals show a quality gain.
Two details matter in practice. Thinking tokens count toward max_tokens, so a tight limit can end a response after a thinking block and before any text. And if you want no thinking at all, you can send thinking: {"type": "disabled"}, but only at high effort or below; at xhigh or max that returns a 400 error. Lowering effort is the recommended lever.
There is also a beta that lets you change effort between turns of the same conversation without breaking the prompt cache, using a system message that carries only output_config. It needs the mid-conversation-output-config-2026-07-01 beta header and works on the Claude API and Google Cloud.
What breaks when you migrate from Haiku 4.5?
Several request shapes that worked on Haiku 4.5 now return errors. The main ones:
| Haiku 4.5 request | On Haiku 5.5 | Fix |
|---|---|---|
thinking: {"type": "enabled", "budget_tokens": N} | Error | Use {"type": "adaptive"} or omit it |
Custom temperature, top_p, top_k | Can error | Remove them |
| Assistant prefill as the last message | Error | End messages with a user turn |
computer_20250124 tool | Error | computer_toolset_20260801 on the Claude API and Google Cloud |
The before and after for thinking looks like this:
{
"model": "claude-haiku-5-5",
"max_tokens": 16000,
"thinking": { "type": "adaptive" },
"output_config": { "effort": "medium" },
"messages": [{ "role": "user", "content": "..." }]
}
Some changes do not error but will quietly break parsers:
- Responses can start with a
thinkingblock. Code that readsresponse.content[0].textwill fail. Select blocks bytype, as in the example above. - Thinking text is hidden by default. Set
thinking.displayto"summarized"if you want a summary back. - Older thinking blocks stay in context. Haiku 4.5 kept only the latest turn's blocks; Haiku 5.5 keeps all of them as input tokens, so long conversations grow faster. Anthropic offers thinking block clearing to trim them.
- Refusals need handling. Safety classifiers can decline a request with
stop_reason: "refusal", and there is no server-side fallback, so your client should check for it.
On Amazon Bedrock, structured outputs are not available for Haiku 5.5, so describe the format in the prompt and validate in code. Priority Tier is also not supported on Haiku 5.5.
When should you use Claude Haiku 5.5?
It fits best where the task is narrow and the volume is high. Routing a request to the right handler, tagging support tickets, extracting fields from documents, summarising long tool output and compacting conversation history are all good candidates. For yes/no or pick-one decisions specifically, a model built to return typed choices, like Cloudflare's Clef decision models, is another option worth comparing.
It is also a sensible subagent under a larger model. The large model plans and writes; Haiku 5.5 does the many small lookups in between at a fraction of the cost.
Reach for Sonnet or Opus instead when the work is long, open-ended agentic coding, or when one wrong step is expensive. Anthropic's own guidance draws that line, and its published coding benchmarks show a clear gap between Haiku 5.5 and Sonnet 5.5 on terminal-based tasks.
Key takeaways
- Claude Haiku 5.5 (
claude-haiku-5-5) shipped on 7 October 2026 with a 1M context window and 128k output. - It costs $0.10 input and $0.50 output per million tokens up to 100k-token prompts, about 75% less than Haiku 4.5 on average.
- The new tokenizer produces about 30% more tokens for the same text, so recount before estimating costs.
- Control cost and depth with
output_config.effort; the default ismedium. - Migration needs code changes: no
budget_tokens, no sampling parameters, no prefill, and parse content blocks by type.
FAQ
Is Claude Haiku 5.5 a drop-in replacement for Haiku 4.5?
Not quite. Manual thinking budgets, assistant prefill and older computer-use tool versions return errors, and sampling parameters can too. Responses may also begin with a thinking block, so update any code that reads the first content block.
What is the default effort level on Claude Haiku 5.5?
The default is medium. Setting effort to medium explicitly behaves the same as leaving it out, but Anthropic recommends setting it explicitly and testing levels against your own workload.
Can I turn off thinking on Claude Haiku 5.5?
Yes, with thinking: {"type": "disabled"}, at high effort or below. At xhigh or max, disabling thinking returns an error.