Migrating from Haiku 4.5 to Claude Haiku 5.5: 6 breaking changes and when the price goes up 5x
Claude Haiku 5.5 ( claude-haiku-5-5 ) was released on October 7, 2026. It is the first Haiku with adaptive thinking and effort, has a 1M-token context window and 128K output, and its API shape now matches Opus 5.5 / Sonnet 5.5. Pricing is $0.10 / $0.50, one tenth of Haiku 4.5, but it is also the fi

Claude Haiku 5.5 (claude-haiku-5-5) wurde am 7. Oktober 2026 veröffentlicht. Es ist das erste Haiku mit adaptive thinking und effort, verfügt über ein Kontextfenster von 1M Tokens und 128K Output, und seine API-Form entspricht nun der von Opus 5.5 / Sonnet 5.5. Der Preis liegt bei $0,10 / $0,50, also einem Zehntel von Haiku 4.5, allerdings ist es auch das erste Haiku, bei dem der Preis um das Fünffache steigt, sobald der Prompt 100K Tokens überschreitet.
Haiku 4.5 war die letzte Generation, die budget_tokens, temperature und prefill akzeptierte, sodass der Wechsel des Modells allein mehr Dinge bricht als bei den anderen 5.5-Modellen. Basierend auf dem offiziellen Migrationsleitfaden (Stand 12. Oktober 2026) sind hier die 6 Änderungen, die einen 400-Fehler zurückgeben, sowie die Dinge, die sich still ändern.
Am 12. Oktober 2026 habe ich die Punkte 1 und 2 sowie die Effort-Einschränkung bei disabled gegen die Live-API geprüft. Alle Anfragen waren kurz, mit max_tokens: 64, und die drei 400er werden nicht abgerechnet.
1) thinking: {type: "enabled", budget_tokens: 2000} HTTP 400 "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. 2) temperature: 0.2 HTTP 400 `temperature` is deprecated for this model.
3) thinking: {type: "disabled"} + effort xhigh HTTP 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking. 4) thinking: {type: "disabled"} + effort low HTTP 200 stop_reason=end_turn content=['text'] input_tokens=15 output_tokens=3 thinking_tokens=0 Case 4 zeigt außerdem, dass disabled mit low akzeptiert wird und dass usage.output_tokens_details.thinking_tokens als 0 zurückkommt.
Für die übrigen Punkte (prefill, computer_20250124, Verlaufsänderungen und die Organisationsgrenze) stütze ich mich auf den offiziellen Migrationsleitfaden und habe sie nicht gegen die Live-API getestet.
In meinem eigenen Code war die einzige Stelle, die Haiku 4.5 verwendete, ein Worker in einem Crawling-Agent. Er übergab weder thinking noch temperature, sodass das Ändern der Modell-ID alles war, was nötig war.
# Haiku 4.5 thinking = { " type ": " enabled ", " budget_tokens ": 8000 } # Haiku 5.5 thinking = { " type ": " adaptive " }, output_config = { " effort ": " medium " } Das Ausmaß des Thinking wird über effort gesteuert (low bis max). Der Standardwert ist medium. thinking: {"type": "disabled"} schaltet das Thinking aus, funktioniert aber nur mit high oder darunter; die Kombination mit xhigh / max liefert einen 400-Fehler. Während das Thinking deaktiviert ist, führt auch das Ändern von effort pro Nachricht zu einem 400-Fehler.
Jeder nicht-standardmäßige Wert liefert einen 400-Fehler. Entfernen Sie sie und steuern Sie stattdessen über den Prompt.
Beenden Sie Nachrichten mit einem user turn. Wenn Sie prefill verwendet haben, um JSON zu erzwingen, wechseln Sie zu structured outputs (output_config.format). Beachten Sie, dass Haiku 5.5 auf Amazon Bedrock weder structured outputs noch strict bietet. Geben Sie auf Bedrock das Format im Prompt an und validieren Sie die Ausgabe selbst.
Wechseln Sie auf der Claude API und Google Cloud zu computer_toolset_20260801 (kein Beta-Header nötig). Wechseln Sie auf Amazon Bedrock zu computer_20251124 (computer-use-2025-11-24). Entfernen Sie den computer-use-2025-01-24-Header. Das Browser-Tool (browser_toolset_20260801) ist neu verfügbar auf der Claude API und Google Cloud.
Diese Prüfung existierte bei Haiku 4.5 nicht. Wenn Sie system, tools oder frühere Turns ändern und dann thinking blocks zurücksenden, erhalten Sie einen 400-Fehler. Die Prüfung ist standardmäßig aktiviert für Konten, die am oder nach dem 31. August 2026 erstellt wurden; bei älteren Konten greift sie nur, wenn Sie prefix_mismatch_behavior senden. Halten Sie den Verlauf append-only und nehmen Sie Anweisungsänderungen über eine role: "system"-Nachricht mitten im Gespräch vor. Die Details habe ich in einem separaten Artikel behandelt (Invalid signature in thinking block, auf Japanisch).
Wenn Sie diese aus einer anderen Organisation senden, werden sie stillschweigend verworfen, ohne einen Fehler, und das Modell antwortet ohne dieses Reasoning. Ein Dienst, der Konversationen mehrerer Kunden in einem Speicher führt, sollte jede Konversation in der Organisation wiedergeben, in der sie erstellt wurde.
Thinking ist standardmäßig aktiviert. Code, der nie thinking gesetzt hat, beginnt bei Haiku 5.5 zu denken. Da max_tokens eine Obergrenze für Thinking plus Antwort zusammen ist, kann ein kleiner Wert allein durch den thinking block aufgebraucht werden und den Text leer lassen. Wählen Sie den Block nach Typ aus, nicht nach content.text. Der Standard für display ist omitted.
Die Tokens nehmen um etwa 30 % zu. Dies ist derselbe neue Tokenizer wie ab 4.7. Auch Bilder verwenden die High-Resolution-Stufe (etwa 2,5x für 2000x1500). Messen Sie mit count_tokens neu.
Thinking blocks aus jedem Turn bleiben im Input. Haiku 4.5 behielt nur die des vorherigen Turns. Multi-Turn-Input wächst um mehr als 30 %. Um sie zu entfernen, verwenden Sie das thinking block clearing im context editing (das eigene Löschen löst Punkt 5 aus).
Der Minimum cacheable prompt liegt bei 512 Tokens (4.096 bei 4.5). Kurze Prompts, bei denen Sie das Caching aufgegeben hatten, funktionieren jetzt.
Refusals wurden hinzugefügt. cyber / frontier_llm / bio / general_harms. Sie erhalten HTTP 200 mit stop_reason: "refusal". Es gibt keinen serverseitigen Fallback, behandeln Sie es also selbst. Ein erneutes Senden führt meist wieder zur Verweigerung.
Priority Tier wird nicht unterstützt. Context-awareness tags werden ebenfalls nicht injiziert (verwenden Sie task budgets für die Budgetierung).
Forced tool_choice funktioniert weiterhin. Anders als bei Opus 5.5 / Sonnet 5.5 wird kein 400-Fehler zurückgegeben.
"Prompt length" bezeichnet die gesamten Input-Tokens einer einzelnen Anfrage, einschließlich cache reads und cache writes. Auch wenn Caching die Anfrage günstiger macht, wird die Anfrage ab dem Überschreiten des Schwellenwerts zum höheren Tarif abgerechnet. Die Entscheidung wird pro Anfrage getroffen, und frühere Anfragen werden nicht neu abgerechnet.
Ein Agent, der eine lange Konversation auf Haiku 5.5 führt, muss sie daher entweder mit compaction verkleinern, wenn sich der Input 100K Tokens nähert, oder mit Sonnet 5.5 vergleichen ($2 / $10), dessen Preis nicht von der Länge abhängt. Haiku 5.5 über 100K Tokens ($0,50 / $2,50) kostet immer noch 1/4 von Sonnet 5.5, ist also oft weiterhin günstiger, aber eine Kalkulation auf Basis von "Haiku ist 1/20" geht daneben.
Die offiziellen Startpunkte: medium für die meisten Arbeiten (einschließlich agentic coding); low für Chat, kurze Tool-Aufgaben und einfache Massenverarbeitung; high für Wissensarbeit, lange agentic work und strenge Instruction following. Bei low überspringen lange agentische Aufgaben häufiger Suchen, brechen früher ab oder lassen Prüfungen aus. Die Aufforderung im Prompt, "direkt zu antworten", reduziert das Thinking nicht; senken Sie stattdessen den effort.
Wenn Sie dem Modell ein Suchtool geben, fügen Sie das heutige Datum in den system prompt ein, damit es auf aktuellen Suchergebnissen basierend antwortet. Rendern Sie es einmal zu Beginn der Konversation und senden Sie dasselbe system weiter. Wenn der Tag wechselt, setzen Sie das Datum in den neuesten Turn.
Bevor ich das Modell wechselte, habe ich ein Tool aktualisiert, das die betroffenen Stellen als file:line auflistet. Die Prüfung für Haiku 5.5 ist --target haiku-5-5.
git clone https://github.com/volvox-ltd/claude5-migration-kit python claude5-migration-kit/scan.py path/to/your/app --target haiku-5-5 Zusammenfassung # Symptom Fix 1 400 bei budget_tokens adaptive + effort 2 400 bei temperature Entfernen 3 400 bei prefill Structured outputs (selbst validieren auf Bedrock) 4 400 bei computer_20250124 Neues Toolset; computer_20251124 auf Bedrock 5 400 bei Verlaufsänderungen Append-only 6 Thinking verschwindet über Organisationen Wiedergabe in der erstellenden Organisation Die Änderungen bei Opus 5.5 / Sonnet 5.5 (kein disabled, keine erzwungenen Tools usw.) werden im japanischen Artikel behandelt, der einen Abschnitt zu diesen beiden Modellen enthält.
https://zenn.dev/persimmoq/articles/claude-opus-5-5-sonnet-5-5-breaking-changes
Offiziell: https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide / https://platform.claude.com/docs/en/about-claude/pricing
Ich habe diesen Text mit Hilfe von Claude, dem KI-Modell von Anthropic, verfasst. Es hat den Beitrag aus dem offiziellen Haiku-5.5-Migrationsleitfaden und der Preisseite entworfen, und ich habe ihn vor der Veröffentlichung geprüft.
Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.
Original (Englisch) anzeigen
Claude Haiku 5.5 ( claude-haiku-5-5 ) was released on October 7, 2026. It is the first Haiku with adaptive thinking and effort, has a 1M-token context window and 128K output, and its API shape now matches Opus 5.5 / Sonnet 5.5. Pricing is $0.10 / $0.50, one tenth of Haiku 4.5, but it is also the first Haiku where the price goes up 5x once the prompt exceeds 100K tokens.
Haiku 4.5 was the last generation that accepted budget_tokens, temperature, and prefill, so changing only model breaks more things than it does on the other 5.5 models. Based on the official migration guide (as of October 12, 2026), here are the 6 changes that return 400 and the things that change silently.
On October 12, 2026, I checked items 1 and 2, plus the effort restriction on disabled, against the live API. All requests were short, with max_tokens: 64, and the three 400s are not billed.
1) thinking: {type: "enabled", budget_tokens: 2000} HTTP 400 "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. 2) temperature: 0.2 HTTP 400 `temperature` is deprecated for this model.
3) thinking: {type: "disabled"} + effort xhigh HTTP 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking. 4) thinking: {type: "disabled"} + effort low HTTP 200 stop_reason=end_turn content=['text'] input_tokens=15 output_tokens=3 thinking_tokens=0 Enter fullscreen mode Exit fullscreen mode Case 4 also shows that disabled is accepted with low, and that usage.output_tokens_details.thinking_tokens comes back as 0.
For the other items (prefill, computer_20250124, history edits, the organization boundary), I am relying on the official migration guide and did not test them against the live API.
In my own code, the only place that used Haiku 4.5 was one worker in a crawling agent. It passed neither thinking nor temperature, so changing the model ID was all it needed.
# Haiku 4.5 thinking = { " type ": " enabled ", " budget_tokens ": 8000 } # Haiku 5.5 thinking = { " type ": " adaptive " }, output_config = { " effort ": " medium " } Enter fullscreen mode Exit fullscreen mode Thinking amount is controlled by effort ( low to max ). The default is medium. thinking: {"type": "disabled"} turns thinking off, but it works only with high or below; combining it with xhigh / max returns 400. While thinking is disabled, changing effort per message also returns 400.
Any non-default value returns 400. Remove them and steer with the prompt instead.
End messages with a user turn. If you used prefill to force JSON, switch to structured outputs ( output_config.format ). Note that Haiku 5.5 on Amazon Bedrock has neither structured outputs nor strict. On Bedrock, specify the format in the prompt and validate the output yourself.
On the Claude API and Google Cloud, switch to computer_toolset_20260801 (no beta header needed). On Amazon Bedrock, switch to computer_20251124 ( computer-use-2025-11-24 ). Remove the computer-use-2025-01-24 header. The browser tool ( browser_toolset_20260801 ) is newly available on the Claude API and Google Cloud.
This check did not exist on Haiku 4.5. If you change system, tools, or earlier turns and then send thinking blocks back, you get 400. The check is on by default for accounts created on or after August 31, 2026; for older accounts it applies only when you send prefix_mismatch_behavior. Keep history append-only, and make instruction changes with a mid-conversation role: "system" message. I covered the details in a separate article ( Invalid signature in thinking block, in Japanese).
If you send them from a different organization, they are silently dropped without an error, and the model answers without that reasoning. A service that carries conversations for multiple customers in one store should replay each conversation in the organization that created it.
Thinking is on by default. Code that never set thinking will start thinking on Haiku 5.5. Because max_tokens is a cap on thinking plus the answer combined, a small value can be used up by the thinking block alone and leave the text empty. Select the block by type, not content.text. The default for display is omitted.
Tokens increase by about 30%. This is the same new tokenizer as 4.7 and later. Images also use the high-resolution tier (about 2.5x for 2000x1500). Re-measure with count_tokens.
Thinking blocks from every turn stay in the input. Haiku 4.5 kept only the previous turn's. Multi-turn input grows by more than 30%. To remove them, use thinking block clearing in context editing (deleting them yourself triggers item 5).
The minimum cacheable prompt is 512 tokens (4,096 on 4.5). Short prompts you had given up on caching now work.
Refusals were added. cyber / frontier_llm / bio / general_harms. You get HTTP 200 with stop_reason: "refusal". There is no server-side fallback, so handle it yourself. Resending usually gets refused again.
Priority Tier is not supported. Context-awareness tags are also not injected (use task budgets for budgeting).
Forced tool_choice still works. Unlike Opus 5.5 / Sonnet 5.5, it does not return 400.
"Prompt length" is the total input tokens of a single request, including cache reads and cache writes. Even if caching makes the request cheaper, once the total crosses the threshold that request is billed at the higher rate. The decision is made per request, and earlier requests are not re-billed.
So an agent that runs a long conversation on Haiku 5.5 needs to either shrink it with compaction as input approaches 100K tokens, or compare against Sonnet 5.5 ($2 / $10), whose price does not depend on length. Haiku 5.5 above 100K tokens ($0.50 / $2.50) is still 1/4 of Sonnet 5.5, so it is often still cheaper, but an estimate built on "Haiku is 1/20" will be off.
The official starting points: medium for most work (including agentic coding); low for chat, short tool tasks, and simple high-volume processing; high for knowledge work, long agentic work, and strict instruction following. At low, long agentic tasks more often skip searches, stop early, or skip checks. Asking in the prompt to "answer directly" does not reduce thinking; lower the effort instead.
If you give the model a search tool, put today's date in the system prompt so it answers based on recent search results. Render it once at the start of the conversation and keep sending the same system. If the day rolls over, put the date in the latest turn.
Before changing model, I updated a tool that lists the affected places as file:line. The check for Haiku 5.5 is --target haiku-5-5.
git clone https://github.com/volvox-ltd/claude5-migration-kit python claude5-migration-kit/scan.py path/to/your/app --target haiku-5-5 Enter fullscreen mode Exit fullscreen mode Summary # Symptom Fix 1 400 on budget_tokens adaptive + effort 2 400 on temperature Remove it 3 400 on prefill Structured outputs (validate yourself on Bedrock) 4 400 on computer_20250124 New toolset; computer_20251124 on Bedrock 5 400 on history edits Append-only 6 Thinking vanishes across organizations Replay in the creating organization The Opus 5.5 / Sonnet 5.5 changes (no disabled, no forced tools, and so on) are covered in the Japanese article, which includes a section on those two models.
https://zenn.dev/persimmoq/articles/claude-opus-5-5-sonnet-5-5-breaking-changes
Official: https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide / https://platform.claude.com/docs/en/about-claude/pricing
I wrote this with help from Claude, Anthropic's AI model. It drafted the post from the official Haiku 5.5 migration guide and pricing page, and I checked it before publishing.