
Sonnet 5.5 Drops tool_choice: Build a Strict Tool Router
Summary
Forced tool use now 400s on Claude Sonnet 5.5. Replace it with strict tools and a retry guard.
Claude Sonnet 5.5 shipped on September 28, 2026, and the first thing many existing agents will hit is a 400 that reads tool_choice: type "tool" and "any" are not supported for this model. Forced tool use is gone. If your pipeline relied on tool_choice={"type": "tool", "name": "..."} to make Claude always return structured data, it breaks the moment you change the model string.
This guide shows the replacement Anthropic documents: tool_choice: auto plus strict: true on your tools. You will build a support-ticket triage function that always ends in exactly one validated tool call, with a retry guard for the case where the model answers in prose. You will also set the new between_tools thinking mode so the call stays cheap and fast.
Keep reading — it's free
Enter your email to keep reading — plus the best of AI & tech, daily. Free, forever.
Already a member? Sign in
Comments
Be the first to comment