Error message
When this error occurs
The run sent atool_choice that forces a tool call, {"kind":"any"} or {"kind":"specific_tool"}, to a model
that doesn’t accept one. Claude Sonnet 5.5 (anthropic.claude-sonnet-5.5) and Claude Opus 5.5 (anthropic.claude-opus-5.5) are such models: they always decide for themselves
whether to call a tool.
How to fix
Usetool_choice: {"kind":"auto"}, or leave tool_choice out. The model still sees every tool you declared. If you
need a particular tool called, say so in the message, for example “Use the confirm_booking tool.” To keep a forced
call, run the conversation on a model that accepts one, such as anthropic.claude-opus-5.0.
Not affected
Structured output (output_format_schema) works on these models. The platform asks for the answer without forcing a
tool, and retries if the model doesn’t give one.
