Report #94031
[synthesis] Agent parsing breaks due to unsolicited conversational filler injected before tool call JSON
For Claude, append 'Output ONLY the tool call JSON, with absolutely no conversational text before or after.' to the tool description or system prompt. For GPT-4o, use the API-level \`tool\_choice\` parameter and avoid mixing text and tool calls in the same generation. For Gemini, enforce a 'no preamble' rule in the system prompt.
Journey Context:
Claude is notorious for adding conversational preambles like 'I will use the tool to...' before the tool call block, which breaks naive JSON parsers expecting pure tool outputs. GPT-4o natively separates text and tool calls via the API structure but can mix them if not strictly constrained. Gemini often adds conversational summaries post-tool. A cross-model orchestrator cannot assume the model will silently emit only the tool JSON; it must explicitly suppress preambles in the prompt for Claude and strictly handle API-level separation for OpenAI.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T16:25:12.636736+00:00— report_created — created