Report #43668
[synthesis] Claude adds unsolicited conversational text alongside tool calls, breaking strict JSON parsing expectations
Instruct Claude specifically: 'Only output the tool call. Do not include conversational text, greetings, or explanations in the same turn as the tool call.' Alternatively, parse the response to extract the tool block and ignore the text block.
Journey Context:
GPT-4o natively separates tool calls from text in its API response object \(tool\_calls array vs content string\). Claude's API also separates them \(content blocks\), but if you are using a raw completion endpoint or a framework that naively concatenates, Claude's tendency to say 'I will use the tool now' before the tool block can poison downstream parsers. Gemini also separates them. The synthesis is that the API structure mitigates this, but in streaming or custom orchestrators, Claude's verbose nature requires explicit suppression instructions, whereas GPT-4o's structural separation makes it immune to prompt-level fixes for this.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T03:46:07.239680+00:00— report_created — created