When migrating from Claude Haiku 4.5 to Claude Haiku 5.5, replacing the model ID is only part of the work: you must also update adaptive thinking, sampling parameters, assistant prefill, computer tools, thinking-block account binding, and append-only conversation handling.
Suitable tasks: Migrating Messages API code that calls Claude Haiku 4.5, Claude Haiku 3.5, or Claude Haiku 3, while checking model IDs for Amazon Bedrock, Google Cloud, Microsoft Foundry, or Claude Platform on AWS.
Not suitable for: Treating this migration checklist as a general-purpose prompt template, or applying it directly to integrations that do not use the Messages API. The official guide says Claude Managed Agents require no changes beyond updating the model name.
Applicable model versions: The target is Claude Haiku 5.5. The primary migration path is from Claude Haiku 4.5, and the guide also lists additional changes when migrating from Claude Haiku 3.5 and earlier versions.
Applicable clients, agents, or APIs: Messages API; Claude Code can call the Claude API skill; applicable to the Claude API and the Amazon Bedrock, Google Cloud, Microsoft Foundry, and Claude Platform on AWS integrations listed in the guide.
Recommended reasoning tier and parameters: Haiku 5.5 enables adaptive thinking by default and uses output_config.effort to adjust thinking depth. The migration-guide example uses medium; the default is documented separately in the official model overview. Omitting temperature, top_p, and top_k is a safe migration choice; leave enough room in max_tokens for thinking blocks.
The official guide provides this Claude Code migration command:
/claude-api migrate this project to claude-haiku-5-5This command comes from the official migration guide. The guide says the skill asks for confirmation of the migration scope before editing files, then replaces model IDs, applies breaking parameter changes, replaces prefill patterns, and calibrates effort after confirmation. It also detects Amazon Bedrock and Claude Platform on AWS clients and adjusts their model ID formats and feature changes. This note does not expand it into a prompt that the source does not provide.
For the thinking configuration migration from Haiku 4.5, the official guide gives the following before-and-after request comparison:
// Claude Haiku 4.5
{
"model": "claude-haiku-4-5",
"max_tokens": 16000,
"thinking": { "type": "enabled", "budget_tokens": 8000 },
"messages": [{ "role": "user", "content": "..." }]
}// Claude Haiku 5.5
{
"model": "claude-haiku-5-5",
"max_tokens": 16000,
"thinking": { "type": "adaptive" },
"output_config": { "effort": "medium" },
"messages": [{ "role": "user", "content": "..." }]
}First replace the model ID for the actual platform:
| Platform | Claude Haiku 4.5 | Claude Haiku 5.5 |
|---|---|---|
| Claude API | claude-haiku-4-5-20251001 or claude-haiku-4-5 | claude-haiku-5-5 |
| Amazon Bedrock | anthropic.claude-haiku-4-5 | anthropic.claude-haiku-5-5 |
| Claude Platform on AWS | claude-haiku-4-5 | claude-haiku-5-5 |
| Google Cloud | claude-haiku-4-5@20251001 | claude-haiku-5-5 |
| Microsoft Foundry | claude-haiku-4-5 | claude-haiku-5-5 |
claude-haiku-5-5 is a fixed model ID with no date suffix and no separate alias.
Recalculate token counts and cost. The official guide says Haiku 5.5 uses a newer tokenizer, so the same text contains about 30% more tokens than on Haiku 4.5, although the exact increase depends on the content. Recount using model: "claude-haiku-5-5"; do not reuse the old model's count.
Replace the old thinking: {"type": "enabled", "budget_tokens": N} with thinking: {"type": "adaptive"}, and use output_config.effort to control thinking depth. Adaptive thinking is enabled by default; even when thinking is not set, the response may still begin with one or more thinking blocks.
When reading responses, select text or tool calls by the content block's type rather than assuming the first block is the answer. Pass thinking blocks and tool results back unchanged. Thinking tokens count toward max_tokens, so a low limit may cause the request to stop with stop_reason: "max_tokens" before visible output is produced.
Omitting temperature, top_p, and top_k is a safe migration choice. The guide allows temperature=1 and top_p=0.99, but non-default values return 400. Supplying temperature and top_p together also returns 400, as does any top_k value. Anthropic recommends using prompts to guide behavior instead.
Remove assistant prefill when the conversation ends on an assistant turn. Haiku 5.5 rejects assistant prefill with a 400 even when thinking is disabled. Move format control to structured outputs, or use an enum-valued tool for classification; put opening statements in the system prompt and continuation or context reminders in the user turn.
If you use computer use, remove the computer-use-2025-01-24 beta header on the Claude API and Google Cloud, and replace computer_20250124 with {"type": "computer_toolset_20260801"}. Dispatch each tool_use block by its name and toolset_name, process every such block in the same turn, and return toolset_name in the result. If the environment does not implement the default-enabled zoom capability, add "configs": {"zoom": {"enabled": false}}; also remove the fine-grained-tool-streaming-2025-05-14 beta header.
When replaying a stored conversation across accounts, replay each conversation's thinking blocks with the account that generated them. Haiku 5.5 thinking blocks are valid only in the account that generated them or an account linked to it.
Keep the conversation append-only. If you change system, tools, or earlier messages, do not send the old thinking blocks back. Otherwise the request may return 400. For accounts created before 2026-08-31 00:00 UTC, the guide also describes this error in relation to the thinking.block_binding.prefix_mismatch_behavior setting.
Handle stop_reason: "refusal". The guide says Haiku 5.5's safety classifier may refuse a request and that there is no server-side fallback. If your organization has a Haiku 4.5 Priority Tier commitment, plan capacity separately because Haiku 5.5 does not support Priority Tier.
Migration command: /claude-api migrate this project to claude-haiku-5-5.
Target model IDs: Claude API, Claude Platform on AWS, Google Cloud, and Microsoft Foundry use claude-haiku-5-5; Amazon Bedrock uses anthropic.claude-haiku-5-5.
Thinking configuration: thinking: {"type": "adaptive"}; thinking depth is adjusted through output_config.effort; the source page's example uses "medium".
Thinking blocks and tools: By default, the thinking field in a thinking block is empty and only signature is present; use display: "summarized" for a summary. Forced tool_choice does not produce thinking first; use auto if the model should think before choosing a tool.
Parameter constraints: The official guide recommends omitting temperature, top_p, and top_k; old enabled thinking, assistant prefill, and old computer tool declarations cause migration problems, several of which return 400.
Token change: The same text contains about 30% more tokens on Haiku 5.5 than on Haiku 4.5, although the exact increase depends on the content.
Computer use: Migrate to computer_toolset_20260801; the Claude API and Google Cloud also support browser_toolset_20260801, which Haiku 4.5 does not support.
Additional changes from older Haiku versions: When migrating from Haiku 3.5 or Haiku 3, upgrade the old code_execution_20250522 to code_execution_20250825 or later; migrate the text editor to text_editor_20250728, whose tool name is str_replace_based_edit_tool and which has no undo_edit command.
Older-version compatibility: Haiku 3.5 and Haiku 3 differ in retirement status and platform availability. Also check the legacy model IDs and aliases, the model_context_window_exceeded stop reason, trailing newlines in tool-call strings, and prompting style; changing only the model name is insufficient.
This is an official migration checklist, not an independent evaluation of business-code success rate, latency, or cost. Results depend on the client, platform, tool loop, input, and account state.
The migration guide does not provide a complete SDK version matrix, every platform's error examples, or an automated test script. Do not infer SDK version requirements that it does not publish.
effort is not a fixed thinking-token budget; the source only says that it controls adaptive thinking depth. Do not interpret medium as a fixed token count.
Thinking-block account binding and append-only requirements apply only when replaying or continuing conversations that carry thinking blocks; they should not be interpreted as an additional login requirement for ordinary stateless requests.
The concrete member dispatch and result format for computer tool sets must be checked against the tool loop in the application. The source gives the migration direction but does not generate a complete tool implementation for the application.
In an isolated environment, keep one Haiku 4.5 request sample and record the original model ID, thinking, sampling parameters, assistant prefill, tool declarations, max_tokens, and message history.
Replace only the model ID, thinking/effort, tool set, and message structure according to this checklist. Record the HTTP status, stop_reason, content block types, token usage, and cost for each request.
Run the same text through both model IDs to recount tokens and verify the increase; do not reuse the old Haiku 4.5 count.
Test thinking-block continuation, cross-account replay, changes to earlier messages, assistant prefill, old sampling parameters, and the old computer tool separately. Keep the 400 errors or successful responses as evidence.
After migration, validate with real classification, extraction, routing, and tool-calling examples. The source page does not provide a business pass rate, so do not equate a successful migration with acceptable business performance.
Claude Haiku 5.5