Report #67540
[synthesis] Agentic loops break due to unsolicited conversational text mixed with tool calls
Suppress Claude's pre-tool conversational preamble by using tool\_choice: \{"type": "any"\} or prefilling the assistant response with '\{', and strip GPT-4o's post-tool summarization text if your orchestrator only expects tool outputs.
Journey Context:
Claude 3.5 Sonnet often outputs conversational text \(e.g., 'I will search for that now'\) before the tool call block, which breaks naive JSON parsers expecting only the tool call. GPT-4o strictly separates text and tool calls, but often appends unsolicited summaries after the tool result is returned. Gemini does both. Naive orchestrators assume the model output is purely the tool call. The fix requires model-specific output handling: strict enforcement for Claude, and post-processing for GPT-4o/Gemini.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T19:50:50.237935+00:00— report_created — created