New Sign up free, 10 calls on us. Up to $1, no card needed.

Claude Haiku 4.5 vs Claude Haiku 5.5

vs

Which one, when

claude-haiku-5-5 is the newer generation and costs a tenth as much: $0.1 input and $0.5 output against $1 and $5 for claude-haiku-4-5, with cache reads at $0.01 against $0.1. It also raises the limits: a 1000000-token context against 200000, 128000 output tokens against 64000, a 2026-06 knowledge cutoff against 2025-02, and caching from 512 tokens where claude-haiku-4-5 needs 4096. Two things to check before switching: prompts above 100000 tokens are billed at 5x, and its tokenizer counts the same text as about 30% more tokens. For most workloads the upgrade is cheaper even so.

Benchmarks

Claude Haiku 5.5: the vendor has not published benchmark scores.

Above averageClaude Haiku 4.50 / 6
Claude Haiku 4.5 Claude Haiku 5.5 other models measured peer average ★ no peer scored higher
SWE-Bench Pro
39.5%
N/A
OSWorld-Verified
50.7%
N/A
GDPval-AA v2 Elo · 642-1171 per Google · 2026-08-26
907
N/A
GDM-MRCR v2 (8-needle) 128k (average)
35.3%
N/A
CharXiv (RQ) no tools
61.7%
N/A

Vendor-published: Alibaba (Qwen) Anthropic ByteDance Google Moonshot OpenAI Tencent Z.ai

Pricing

Claude Haiku 4.5 Claude Haiku 5.5 Δ
Input / 1M tokens $1 $0.1 10×
Output / 1M tokens $5 $0.5 10×
Cache read / 1M tokens $0.1 $0.01 10×
Cache write 1.25x (5m) / 2x (1h) 1.25x (5m) / 2x (1h) -

Rates from the live catalogue at build time; each model page carries the current rate card.

Where they sit · input price per 1M tokens across all 78 chat models on this billing unit (log scale)

Capabilities

Claude Haiku 4.5 Claude Haiku 5.5
Tool calling yes yes
Thinking control configurable configurable
Structured output yes yes
Prompt caching explicit (you mark the prefix) explicit (you mark the prefix)
Cache lifetime 5m default, 1h option 5m default, 1h option
Minimum cached prefix 1024 tokens 1024 tokens

Specs

Claude Haiku 4.5 Claude Haiku 5.5
Input modalities text image text image
Output modalities text text
Released 2025-10-15 2026-10-07
Knowledge cutoff 2025-02 2026-06
Context window 200K 1M
Max output 64K 128K
Thinking parameter
  • thinking.type "enabled"
  • budget_tokens
output_config.effort
Accepted values
budget_tokens
  • at least 1,024 and below max_tokens

"adaptive" returns 400

output_config.effort
  • low
  • medium
  • high
  • xhigh
  • max
Default off, with no thinking unless the request sets it medium

Specs are transcribed from each vendor’s documentation; a row a vendor does not publish is left out rather than inferred. Full sources: Claude Haiku 4.5 · Claude Haiku 5.5

One prompt, both models, measured through the gateway

PROMPT Explain to a CFO, in exactly three sentences, why our LLM bill doubled after we enabled reasoning. CHECK exactly 3 sentences

Claude Haiku 4.5 passed · 3 sentences

# Why Your LLM Bill Doubled Reasoning models like o1 and o3 process queries through extended chains of thought before responding, consuming 5-10x more tokens internally than standard models while also charging higher per-token rates. This means both your input token usage and per-unit costs increased simultaneously—a compounding effect that easily doubles overall spend. Unless you've significantly reduced queries to other models or have very selective reasoning deployment, the math makes a doubling entirely predictable.

out 106 tok latency 2.8 s

Claude Haiku 5.5 passed · 3 sentences

Enabling reasoning makes the model generate a long internal chain of thought before its answer, and those thinking tokens are billed as output tokens, which cost several times more than input tokens. The model often produces many times more output per request than it did without reasoning, so the per-call cost rises even when the visible answer looks about the same length. Because that extra spend scales with every request, the bill roughly doubled, and we can control it by setting reasoning budgets, using reasoning only for tasks that need it, or routing simpler requests to a non-reasoning model.

out 332 tok (+159 thinking) latency 2.9 s

Instruction following (exactly three sentences, so countable), audience shaping (CFO register), and the hidden-thinking billing gap the token meters below expose.

PROMPT This function is supposed to return the longest run of consecutive equal items, but callers report it is off by one on single-element inputs and misses runs that end at the last index. Fix it and explain the bug in one paragraph. CHECK fix passes tests

Claude Haiku 4.5 passed · 8/8 cases

# Fixed Function ```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` # Bug Explanation The original function has two related bugs stemming from incorrect initialization and loop logic. First, `best` and `cur` start at 0, which causes single-element lists to incorrectly return 0 instead of 1—a run of one identical element should have length 1. Second, `cur` is reset to 0 (not 1) when a mismatch occurs, causing the next matching pair to be undercounted. More critically, if the longest run ends at the last index, `best` is only updated *during* the loop when a mismatch is encountered; if no mismatch follows the final run, `best` never captures it. […]

out 310 tok latency 4.0 s

Claude Haiku 5.5 passed · 8/8 cases

```python def longest_run(xs): if not xs: return 0 best = cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` The bug is that `cur` counts adjacent equal *pairs*, not run *elements*. A run of k equal items produces k−1 matching pairs, so the function returns one less than the true length, and a single-element input produces no pairs at all, so it returns 0 instead of 1. Resetting `cur` to 0 on a mismatch compounds this by starting every run one step behind. The fix starts both `cur` and `best` at 1 (a non-empty list always has a run of at least one element), resets `cur` to 1 on a mismatch, and updates `best` after every element rather than only inside the equal-branch. The empty-list guard keeps the function from returning 1 for `[]`. […]

out 1012 tok (+591 thinking) latency 6.0 s

Whether the fix is actually correct (runnable), explanation density, and token efficiency on a bounded task.

PROMPT Extract a JSON object with fields {company, quarter, revenue_usd_m, growth_pct, guidance} from this text. Use null for anything not stated; add no other fields. CHECK valid JSON, schema exact

Claude Haiku 4.5 passed · 5/5 fields, guidance null

```json { "company": "Meridian Robotics", "quarter": "Q3", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null } ```

out 63 tok latency 1.6 s

Claude Haiku 5.5 passed · 5/5 fields, guidance "Formal guidance withheld pending the Q4 "

```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": null, "growth_pct": 11, "guidance": "Formal guidance withheld pending the Q4 close" } ``` Notes: The text gives revenue as 412 but doesn't state the currency, so I left `revenue_usd_m` as null. Growth is "eleven and change," so 11 is an approximation.

out 725 tok (+572 thinking) latency 4.6 s

Schema obedience (no invented fields), hallucination pressure (guidance is explicitly withheld), and structured-output path differences.

PROMPT Write a 120-word product announcement for an API gateway feature that caches prompts across providers. Forbidden words: "seamless", "unlock", "game-changer", "revolutionize", "empower". Exactly one sentence must be a question. CHECK 120 words, 0 banned words

Claude Haiku 4.5 passed · 123 words, 0 banned, 1 question

# Introducing Prompt Cache Across Providers We're excited to announce our latest API gateway feature: intelligent prompt caching that works across multiple AI providers. This powerful capability stores frequently used prompts and their contexts, dramatically reducing latency and API costs for your applications. By intelligently managing cached prompts across providers like OpenAI, Anthropic, and others, you can optimize your infrastructure without changing your code. Why wait for responses when cached results can be delivered instantly? The system automatically handles cache invalidation and updates, ensuring your applications always access current information while maintaining performance gains. With support for complex multi-turn conversations and dynamic content, this feature scales seamlessly with your business needs. […]

out 165 tok latency 3.0 s

Claude Haiku 5.5 passed · 120 words, 0 banned, 1 question

**Introducing Prompt Cache Sync, the newest feature in GatewayOne.** Teams routing requests across OpenAI, Anthropic, and Google have often paid to process the same long system prompts again and again. Now the gateway stores those prompts once and reuses them wherever they appear, regardless of provider. Repeated context is matched by content hash, so cached prefixes return faster and cost less, with no changes to your application code. How much could this save your team? Enable Prompt Cache Sync from the dashboard, and your next billing report will show the difference. Cache entries follow your existing retention settings and can be purged per project at any time. Availability begins this week for all Scale and Enterprise plans worldwide. Start today.

out 2164 tok (+1929 thinking) latency 9.9 s

Constraint obedience (word budget, banned-word list, the single question), style fingerprint, and length control.

Switch between them with one line

Both ids are in every tab below; the highlighted pair of lines is the only edit. Same endpoint, same key, same request shape.

from openai import OpenAI

client = OpenAI(
    base_url="https://synthorai.io/v1",
    api_key="sk-syn-...",
)

resp = client.chat.completions.create(
    model="claude-haiku-4-5",
    # model="claude-haiku-5-5",  # uncomment this line, comment the one above
    messages=[{"role": "user", "content": "Summarize this diff"}],
)
print(resp.choices[0].message.content)

Get your API key →

FAQ

Which is cheaper, Claude Haiku 4.5 or Claude Haiku 5.5?

Claude Haiku 5.5 is cheaper on the "Input / 1M tokens" row ($0.1 vs $1, 10× apart). Other rows may point the other way; the table above carries the full rate card, and real cost depends on your mix.

Can I A/B test Claude Haiku 4.5 against Claude Haiku 5.5 without two integrations?

Yes. Both are served through the same OpenAI-compatible endpoint with one API key. Switching is a one-line change to the model id, so you can route a fraction of traffic to each and compare bills directly.

Do Claude Haiku 4.5 and Claude Haiku 5.5 support prompt caching?

Yes. Both bill cache reads below their input rate, so warm-prefix workloads cost less than the list rates suggest. The exact cache-read rows are in the pricing table above.

Related comparisons

From our measured studies