Assistant message prefill returns a 400 on Claude Haiku 5.5
Returns 400
Applies to claude-haiku-5-5 on the Anthropic Messages API.
Anthropic's docs describe this error but don't quote the exact message, so we don't either.
How to fix it
End the conversation with a user message. Use structured outputs for output format and the system prompt for preambles.
Before
{
"max_tokens": 1024,
"messages": [
{
"content": "Summarize this ticket.",
"role": "user"
},
{
"content": "Summary:",
"role": "assistant"
}
],
"model": "claude-haiku-4-5-20251001"
}After (Claude Haiku 5.5)
{
"max_tokens": 1024,
"messages": [
{
"content": "Summarize this ticket.",
"role": "user"
}
],
"model": "claude-haiku-5-5"
}Official source
rejects it with a 400 error, even with thinking turned off
https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide (last checked 2026-11-02)
Other changes for the same models
- computer_20250124 isn’t accepted by Claude Sonnet 5.5 or Haiku 5.5
- fine-grained-tool-streaming-2025-05-14 with a toolset returns a 400
- thinking type enabled with budget_tokens returns a 400 on Claude Haiku 5.5
- temperature, top_p and top_k can return an error on Claude Haiku 5.5
- Forced tool_choice on Claude Haiku 5.5 skips thinking
FAQ
How do I fix this when moving to claude-haiku-5-5?
End the conversation with a user message. Use structured outputs for output format and the system prompt for preambles.
Where is this documented?
In Anthropic’s official docs: https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide, last checked 2026-11-02.