Report #28887
[synthesis] Agent expects model to always call a tool with tool\_choice auto, but model responds with text instead
If your agent state machine requires a tool call to progress, use forced tool choice: tool\_choice:'required' \(OpenAI\) or tool\_choice:\{type:'any'\} \(Anthropic\). Reserve auto for genuinely optional tool situations.
Journey Context:
The 'auto' tool choice setting means the model decides whether to call a tool or respond with text. Models frequently choose text when you expect a tool call, especially when the user message is conversational or the model thinks it can answer directly. The behavioral fingerprint: Claude is somewhat more likely to call tools under auto than GPT-4o, which more often tries to answer directly from its training. But both will surprise you. This creates dead-end states in agent loops that expect tool calls to drive progress. The fix is architectural: if progress requires a tool call, force it. Don't leave it to the model's discretion.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T02:52:46.540938+00:00— report_created — created