मुख्य कंटेंट तक स्किप करें

Claude Haiku 5.5: The 100K Price Cliff

मध्यम

On 7 October 2026 Anthropic released Claude Haiku 5.5 (claude-haiku-5-5): the fastest model in the lineup, with a 1M context window (up from 200K), 128K max output (up from 64K), adaptive thinking with the effort parameter for the first time in a Haiku, and a headline input price of $0.10 / MTok against Haiku 4.5's $1.00.

That is a 90% cut on the rate card, and it is the number every write-up led with. It is also not the number you will pay, for two reasons that compound — and one of them is a structural change nothing else in the lineup has.

Haiku 5.5 is the only current Claude model priced by prompt length. Every other Claude 4.6-and-later model bills a 900K-token request at exactly the same per-token rate as a 9K-token one. Haiku 5.5 has two rate cards, and the switch between them is a hard threshold at 100,000 tokens that reprices the whole request — input, output, cache writes, cache reads, batch — at 5x.

The second reason is quieter: Haiku 5.5 moves to the newer tokenizer, so the same text counts as about 30% more tokens than it did on Haiku 4.5. That shrinks the discount, and it also moves the cliff: the 100,000 is counted in new tokens, so it arrives roughly 23% earlier in terms of actual text than anyone carrying over a Haiku 4.5 measurement will assume.

This page works out what you actually pay in each regime, shows where the cliff sits in words, and then covers the migration — including five 400-errors and six changes that return 200 and simply give you a worse answer.

What you'll learn
  • Know the real numbers: two rate cards split at 100,000 tokens, 1M context, 128K output (300K on Batches), adaptive thinking, default effort medium, June 2026 cutoff
  • Understand that the cliff is a repricing, not an overage: one token past 100,000 multiplies the entire bill by 5
  • Locate the cliff in text (~55,500 English words) and in old measurements (~77,000 Haiku 4.5 tokens), because it is counted on the new tokenizer
  • Compute the honest saving: ~87% below the cliff, ~35% above it, and still 75% under Sonnet 5.5 either way
  • Decide when to chunk below the threshold — a worked case that cuts a bill 79% for the same input tokens — and when chunking is the wrong answer
  • Fix the five breaking changes that 400-error a Haiku 4.5 codebase, including assistant prefill, which Haiku 4.5 accepted
  • Catch the six silent changes that return 200: an empty reply from a max_tokens tuned without thinking, content[0] that is no longer the answer, and refusals with no server-side fallback

Specs, and the row that has no precedent​

Haiku 4.5Haiku 5.5Sonnet 5.5
Claude API IDclaude-haiku-4-5-20251001claude-haiku-5-5claude-sonnet-5-5
Input / output per MTok, prompt ≤ 100K$1 / $5$0.10 / $0.50$2 / $10
Input / output per MTok, prompt > 100K$1 / $5$0.50 / $2.50$2 / $10
Cache read$0.10$0.01 / $0.05$0.10
5m cache write$1.25$0.125 / $0.625$2.50
1h cache write$2$0.20 / $1$4
Batch input / output$0.50 / $2.50$0.05 / $0.25 · $0.25 / $1.25$1 / $5
Context window200K1M1M
Max output (sync)64K128K128K
Max output (Batches, beta)—300K300K
effort parameternot supportedsupported, default mediumsupported, default high
thinking: disabledn/a (budget_tokens)accepted at low/medium/high400 (use between_tools)
Forced tool_choiceacceptedaccepted400
Assistant prefillaccepted400—
Tokenizerpreviousnewer (~30% more tokens)newer
Tool-use system prompt (auto/none)496 tokens286 tokens286 tokens
Reliable knowledge cutoffFeb 2025Jun 2026Jun 2026
Priority Tiersupportednot supported—
Server-side fallback on refusal—nonecyber, frontier_llm → Sonnet 5
Retirement no sooner than15 Oct 20267 Oct 202728 Sep 2027

Three of those rows deserve more than a glance.

The two input rows are the story. No other current Claude model has two. Anthropic's long-context pricing section states the exception explicitly: Claude 4.6 and later models except Haiku 5.5 include the full 1M window at standard pricing. Haiku 5.5 is "priced by prompt length."

Haiku 5.5 is the most permissive current model on determinism. It accepts thinking: {"type": "disabled"} (at low, medium or high effort) and a forced tool_choice. Opus 5.5 rejects both. Sonnet 5.5 rejects both. If the 5.5 generation broke a deterministic classifier you run on Haiku 4.5, Haiku 5.5 is the one model in the family you can move it to largely intact — you just lose prefill, which is covered below.

Haiku 4.5's floor is 15 October 2026 — one week after Haiku 5.5 shipped. The official status table still lists it Active with no deprecation announced, so this is not an outage warning; a "not sooner than" date passing is a signal to plan, and Anthropic commits to at least 60 days' notice once a notice goes out. But it is now the nearest floor in the lineup, and it now has a direct successor. See deprecations for how to read that table.

The cliff is a repricing, not an overage​

This is the single most important mechanical fact on the page, and it is the one most likely to be assumed away. The 100,000-token threshold does not work like a phone plan, where you pay the cheap rate up to the limit and a higher rate on the excess. Anthropic's rate card is written per prompt: one row "for prompts up to 100,000 tokens," another "for prompts over 100,000 tokens." Cross the line and every token in that request is billed at the higher rate.

Take a 500-token answer and walk one token across the boundary:

RequestInput costOutput costTotal
100,000-token prompt100,000 × $0.10/M = $0.0100500 × $0.50/M = $0.00025$0.01025
100,001-token prompt100,001 × $0.50/M = $0.0500500 × $2.50/M = $0.00125$0.05125

One extra token, exactly 5x the bill. There is no gradient and no blend. A workload whose prompts cluster around 100K is a workload whose monthly bill has a step function in it, and which side of the step you land on may depend on a user pasting one more paragraph.

The practical consequence: treat 100,000 as a hard budget, not a target. Leave headroom. A pipeline designed to run at 98K tokens has a 2% margin before its cost quintuples, and the things that quietly grow a prompt — a longer retrieved chunk, an extra few-shot example, a tool definition you added last week, conversation history — do not announce themselves.

Where the cliff actually sits, in text​

The threshold is counted in Haiku 5.5 tokens, on the new tokenizer. Two conversions matter.

In words. Anthropic puts 1M tokens at roughly 555K English words on the current tokenizer. So 100,000 tokens is about 55,500 words — call it a 180-page book, or 20-25 substantial PDFs.

In old measurements. The same text produces about 30% more tokens on Haiku 5.5 than on Haiku 4.5. So a prompt you measured at 100,000 tokens on Haiku 4.5 arrives at roughly 130,000 tokens on Haiku 5.5 — comfortably over the cliff, at 5x, on text that used to be exactly at your limit. Running it backwards: to stay under 100,000 new tokens you need about 77,000 Haiku 4.5 tokens worth of text.

That 23% shrinkage is the trap. Anyone who sizes a Haiku 5.5 prompt from a Haiku 4.5 token count — a cached measurement, a stored usage value, a spreadsheet, a hard-coded constant in a chunker — will under-measure by about a third and cross a threshold they believe they are well inside.

Watch out

Recount every prompt with model set to claude-haiku-5-5. The token-counting endpoint is tokenizer-specific; a count taken on Haiku 4.5 is not an estimate of the Haiku 5.5 count, it is a different measurement of a different thing. This applies to max_tokens values and cost models too.

Recount a prompt against the new tokenizer before you trust any budget

curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
  "model": "claude-haiku-5-5",
  "system": [{"type": "text", "text": "<your real system prompt>"}],
  "messages": [{"role": "user", "content": "<your longest real input>"}]
}'

The honest saving: three regimes​

"90% cheaper" is a rate-card statement. What you pay depends on which band you land in and on the tokenizer. All three numbers below hold the text constant and let the token count move, which is the only comparison that means anything to a bill.

Below the cliff: ~87% less than Haiku 4.5​

A classification workload, 1,000,000 requests/month. The prompt measures 9,000 tokens on Haiku 4.5, so about 11,700 on Haiku 5.5; the reply is 300 old tokens, about 390 new.

Haiku 4.5Haiku 5.5 (≤ 100K)
Input9,000 MTok × $1 = $9,00011,700 MTok × $0.10 = $1,170
Output300 MTok × $5 = $1,500390 MTok × $0.50 = $195
Total$10,500$1,365

87% less for the same work. The 30% token inflation eats three points of the 90% headline. That is the number to put in a budget.

Above the cliff: ~35% less than Haiku 4.5​

Above 100,000 tokens the rates are $0.50/$2.50 against Haiku 4.5's $1/$5 — 2x cheaper per token. Apply the 30% token inflation and the saving on the same text is 1 − (0.5 × 1.3) = 0.35.

35% less, uniformly, on input and output alike. Still a cut, nothing like the headline. A long-context workload that migrates from Haiku 4.5 expecting a 90% drop will miss by a factor of nearly three.

Either way: 75% less than Sonnet 5.5​

Haiku 5.5 and Sonnet 5.5 share the newer tokenizer, so the token counts are identical and the comparison is pure price. Above the cliff, $0.50/$2.50 against $2/$10 is exactly 4x cheaper, or 75% less. Below the cliff it is 20x.

This is the reassuring row: even in its expensive band, Haiku 5.5 is substantially the cheapest current Claude model. The cliff costs you the headline, not the tier.

When to chunk below the threshold — and when not to​

If the cliff reprices whole requests, splitting one long request into several short ones is a real lever. It is also frequently the wrong call. Here is the arithmetic, then the limits.

A batch of 1,000 documents, each 150,000 tokens in and 2,000 tokens out:

StrategyInputOutputTotal
1,000 whole documents (> 100K, 5x rates)150 MTok × $0.50 = $75.002 MTok × $2.50 = $5.00$80.00
2,000 halves of 75K (≤ 100K rates)150 MTok × $0.10 = $15.004 MTok × $0.50 = $2.00$17.00

79% less, on identical input tokens. The chunked run even pays for double the output — two replies per document instead of one — and still wins by a factor of nearly five, because the rate difference swamps the duplication.

Guided walkthrough1 of 6
  1. Count your prompts with model set to claude-haiku-5-5 and plot them. If the 95th percentile is under ~85,000 tokens you have nothing to do. If the distribution straddles 100,000, the step function is already in your bill and you cannot see it in an average.

The cache-read trap​

Prompt caching is the usual answer to an expensive prefix, and on Haiku 5.5 it interacts with the cliff in a way that is easy to miss: the rate card prices every token category in both bands. Cache writes and cache reads each have a cheap-band price and an expensive-band price. Caching does not exempt you from the threshold; it gets repriced alongside everything else.

An agent with a 120,000-token cached prefix on the 1-hour cache, one write and 100 reads:

StrategyCache write100 cache readsTotal
120K prefix (> 100K: $1 write, $0.05 read)0.12 MTok × $1 = $0.12012 MTok × $0.05 = $0.600$0.720
95K prefix (≤ 100K: $0.20 write, $0.01 read)0.095 MTok × $0.20 = $0.0199.5 MTok × $0.01 = $0.095$0.114

Cutting 21% of the prefix cuts 84% of the cost. There is no other lever in Claude pricing with that shape — on every other current model, trimming 21% of a prompt saves 21%.

Watch out

The band is selected by prompt length, and a cached prefix is part of the prompt. The safe engineering assumption is that total request input — cached tokens included — picks the rate card, which means a cache that grows past 100,000 tokens takes your reads from $0.01 to $0.05 with no code change and no error. Verify against the usage block on your own requests and the Console's cost breakdown for your exact shape before you commit a budget to it.

One more caching interaction, from the prompting guide: changing the top-level effort value between requests invalidates the prompt cache for the conversation's messages. To vary effort per turn without destroying the cache, use the per-message effort change (beta, mid-conversation-output-config-2026-07-01), which requires adaptive thinking — with thinking off it returns a 400.

Migrating from Haiku 4.5: the five 400s​

Anthropic's own line is that existing Haiku 4.5 prompts should perform well unchanged. The requests are a different matter. Five things that Haiku 4.5 accepted now fail closed.

What you sendResultFix
thinking: {"type": "enabled", "budget_tokens": N}400Send {"type": "adaptive"} (or omit) and steer with effort
thinking: {"type": "disabled"} at xhigh or max effort400Fine at low/medium/high; lower the effort or drop the field
Non-default temperature / top_p, any top_k, or both temperature and top_p together400Omit all three. If present, temperature must be 1 and top_p must be 0.99 — top_p: 1 is a 400
A final assistant turn for the model to continue (prefill)400, even with thinking offEnd messages with a user turn; see below
computer_20250124 on the Claude API or Google Cloud400Use {"type": "computer_toolset_20260801"}, drop the computer-use-2025-01-24 header

Plus a sixth that only bites conversations: sending a thinking block back after you changed system, tools or any earlier message returns a 400. Keep conversations append-only. On accounts created before 31 August 2026 00:00 UTC the error fires only when you set thinking.block_binding.prefix_mismatch_behavior.

Prefill is the one that will hurt​

Assistant prefill — ending messages with a partial assistant turn like {"label": to force a shape — is a standard trick in exactly the high-volume classification and extraction pipelines Haiku is built for, and Haiku 4.5 accepted it with thinking off. Haiku 5.5 returns a 400 with thinking off too. There is no flag.

Replace it by what it was doing:

  • Forcing an output shape → structured outputs, or a tool with enum fields for classification. (On Amazon Bedrock, which does not support structured outputs, use the tool.)
  • Suppressing a preamble → ask for a direct answer in the system prompt.
  • Continuing a truncated reply → move it into the user turn: "Your previous response was interrupted and ended with [previous_response]. Continue from where you left off."
  • Reminding the model of context → put it in the user turn.
What you'll learn

Keep in mind the compensation: Haiku 5.5 still accepts a forced tool_choice, which Opus 5.5 and Sonnet 5.5 reject. For a classifier, tool_choice with an enum-typed tool gets you the same determinism prefill gave you, and it survives the whole 5.5 generation. The one cost is that the response starts with the tool call and contains no thinking block.

The six changes that return 200​

The 400s announce themselves in your logs on the first request. These do not. Each one returns a perfectly valid response that is quietly worse, and each has broken someone's pipeline.

  1. An empty reply from a max_tokens you did not change. Thinking is on by default and thinking tokens count toward max_tokens. A limit sized for Haiku 4.5 running without thinking can now stop with stop_reason: "max_tokens" after a thinking block and before any text. Raise max_tokens, or lower effort.
  2. content[0] is no longer the answer. Responses can begin with one or more thinking blocks even when the request never mentions thinking. Select blocks by their type field, never by position.
  3. Thinking text is empty by default. Haiku 4.5 returned summarized thinking; Haiku 5.5 returns each block with an empty thinking field and only a signature. If you log or display reasoning, set thinking.display to "summarized" to get it back.
  4. Refusals are new, and there is no safety net. Haiku 5.5 runs safety classifiers that can return stop_reason: "refusal" with a stop_details.category of cyber, frontier_llm, bio or general_harms. Haiku 4.5 did not do this. Haiku 5.5 also has no server-side fallback — unlike Sonnet 5.5, nothing retries for you, and resending the same request usually earns another refusal. An unhandled refusal looks exactly like an empty response. Handle it in the client.
  5. Cross-account thinking replay silently drops reasoning. Haiku 5.5 thinking blocks work only in the account that produced them (or a linked one). Send one from another account and the API removes the block and succeeds without it — a quality regression with no error. If you store conversations and replay them, replay each through its producing account.
  6. Every token number you have is now wrong by ~30%. usage fields, token-counting results, max_tokens, cost models, chunk sizes, context budgets, and — as covered above — which side of the 100,000-token cliff you are on.

And one capacity item that is neither: if you hold a Priority Tier commitment on Haiku 4.5, plan separately. Priority Tier is not supported on Haiku 5.5.

Effort: the new dial, and what it costs​

Haiku 5.5 is the first Haiku with effort, and it replaces budget_tokens outright — there is no old setting to carry over. Anthropic's guidance by level:

LevelUse it forWatch for
lowChat, short tool tasks, simple high-volume requestsIn long agent prompts: skipped searches, early stopping, skipped checks
mediumThe default. Most work, including agentic coding—
highKnowledge work, longer agent tasks, strict instruction following—
xhigh / maxOnly when your evals show the quality gain paysThinking and replies get much longer; also benchmark Sonnet 5.5 at this point

Two findings from Anthropic's own testing are worth internalizing, because both contradict an intuition.

You cannot prompt your way out of thinking. Telling the model in the prompt to answer directly did not stop it from thinking. Lower the effort level, or set thinking: {"type": "disabled"} (at high or below). Prose is not the lever.

Raising effort is not a free fix. Moving low → medium roughly halved early stopping in a long coding-agent prompt — and more than doubled the output tokens per attempt. Both halves of that sentence belong in the decision.

A third, narrower one: at xhigh effort in multi-turn chats the model sometimes writes its whole answer inside its thinking and ends the turn with no visible text. If you run xhigh, check for empty replies.

Two prompt additions that earn their tokens​

The prompting guide is unusually concrete about which system-prompt text moved which metric. Two are worth copying as-is if you hit the matching symptom.

If you give Haiku 5.5 a search tool, give it today's date — Anthropic's testing found this alone grounded answers in recent results. At low effort or behind a long system prompt it may still need a nudge to search at all:

Nudge an under-searching Haiku 5.5 (place directly after the date)

The current date is [current_date].

Your training data ends well before today's date. Records, office holders, prices, versions, rules and anything "latest" may have changed since then, so search for those before you answer, even when you feel sure. Facts that can't change need no search. When the answer depends on where the user is, put the user's country or region in the search query.

Anthropic reports this raised the search rate on questions whose answers had changed, while adding searches on only 0-3% of prompts that needed none. The explicit anti-pattern: do not write "search for any present-day factual question, regardless of how confident you are" — that made the model search on half of the prompts that needed no search, without producing more correct answers.

The second applies to a specific, nasty combination: thinking off plus structured outputs, where the model may skip a tool call it needs. The clean fixes are to use adaptive thinking for those requests, drop output_config.format where a tool call is required, or force the call with tool_choice. If you genuinely need thinking off:

Keep tool calls alive with thinking off and JSON output

The JSON output format applies to your final answer only. When you need a tool, call it first, with no text before the call, and write the JSON once you have the results.

Should you move?​

A short decision rule, in order.

  1. Prompts reliably under ~85,000 new tokens? Move. ~87% less than Haiku 4.5 for the same work, with a 1M window and a June 2026 cutoff instead of Feb 2025. This is most Haiku workloads — classification, routing, extraction, cheap subagents — and it is close to a free win once the five 400s are fixed.
  2. Prompts straddling 100,000? Measure first, then trim or chunk. The step function is the whole problem; getting under the line is worth more than any other optimization available to you.
  3. Prompts genuinely over 100,000 and not separable? Still move — it is 35% less than Haiku 4.5 and 75% less than Sonnet 5.5 — but budget from the high band and ignore the headline entirely.
  4. Need budget_tokens, prefill, Priority Tier, or computer_20250124? Those are gone. The migration is mechanical for the first three; price the work before you schedule it.
  5. Running near the quality ceiling already? Benchmark Sonnet 5.5 in the same sweep. Anthropic recommends it explicitly once you are reaching for xhigh or max on Haiku — at that point you may be paying Haiku prices for Sonnet-shaped work and getting neither.
कार्ड पलटने के लिए Enter या Space दबाएँ। कार्ड बदलने के लिए बाएँ और दाएँ तीर कुंजियों का उपयोग करें।शब्द दिखाया गया।
1 / 14

Check yourself

0/4
  1. A request sends a 100,400-token prompt to Haiku 5.5. How is it billed?
  2. You measured your prompt at 90,000 tokens on Haiku 4.5 and want to stay in Haiku 5.5's cheap band. What should you expect?
  3. A classification pipeline on Haiku 4.5 ends each request with an assistant prefill and sets thinking off. What breaks on Haiku 5.5?
  4. Your agent's cached prefix has grown to 115,000 tokens and the bill jumped sharply with no code change. What is the most likely cause?
Key takeaways
  • Haiku 5.5 is the only current Claude model priced by prompt length: two rate cards, split at 100,000 tokens, 5x apart.
  • The cliff reprices the entire request, not the excess. One token past 100,000 multiplies the bill by five.
  • The threshold is counted on the new tokenizer, so it arrives ~23% earlier in text than a Haiku 4.5 measurement suggests: ~55,500 words, or ~77,000 old tokens.
  • Budget ~87% less than Haiku 4.5 below the cliff and ~35% above it — not the 90% on the rate card. Either way it is 75% under Sonnet 5.5.
  • Trim before you chunk: on a 120K cached prefix, cutting 21% cut 84% of the cost. Chunking is for separable tasks only, and it adds a merge pass and request volume.
  • Five things 400 that Haiku 4.5 accepted — budget_tokens, sampling parameters, assistant prefill, computer_20250124, and disabled thinking at xhigh/max — plus a sixth for non-append-only conversations.
  • Six more return 200 and just get worse: empty replies from an unchanged max_tokens, content[0] that is now a thinking block, empty thinking text, unhandled refusals with no server-side fallback, silently dropped cross-account reasoning, and every token count off by ~30%.

Next​

Sources & further reading​