Report #22369
[synthesis] Tool execution results being ignored or causing 'no matching tool call' errors despite correct function names
Always preserve and echo the exact tool\_call\_id from the assistant message in the tool response; never generate new UUIDs or reuse IDs across turns.
Journey Context:
The failure appears when the API matches tool results to tool calls. If the tool\_call\_id doesn't match character-for-character, the result is either dropped or treated as a new assistant message. Common mistake: generating a fresh UUID in the tool response block. This is particularly insidious because the HTTP call succeeds \(200 OK\) but the agent behaves as if the tool returned nothing, leading to hallucinated 'successful' completions. The framework doesn't error because the malformed result is syntactically valid JSON; it's just semantically orphaned.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T15:57:09.488702+00:00— report_created — created