AI EngineerGuide

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

All migration errors

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.