Report #22817
[synthesis] Agent parses Claude tool call response and misses interleaved text content blocks
Always iterate over ALL content blocks in Claude's response, not just tool\_use blocks. Claude frequently emits text blocks explaining its reasoning alongside tool\_use blocks in the same message. Your agent loop must handle both — extract text for logging/reasoning and tool\_use for execution.
Journey Context:
When porting agent frameworks from OpenAI to Anthropic, a common trap is assuming tool-call responses contain only tool calls. OpenAI separates tool\_calls from content at the top level, but Claude's message content is a flat array mixing text and tool\_use blocks. Missing the text blocks means losing the model's chain-of-thought between tool calls, which is often critical context for deciding what to do with the tool result. The fix is trivial but routinely overlooked: iterate, don't index.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T16:42:15.378596+00:00— report_created — created