Report #54123
[gotcha] Parallel tool call results misattributed when responses return out of order
Always match tool results to their call ID, never to positional order. When the LLM orchestrator receives multiple tool results, explicitly label each result with the tool name and call ID before injecting them into the conversation. Validate that result count matches call count before proceeding.
Journey Context:
When an agent dispatches multiple tool calls in parallel \(e.g., read\_file on three different paths\), the results may return in any order. If the orchestrator injects them into the conversation in return order rather than call order, the model associates file A's contents with the question about file B. The model then confidently cites the wrong data. This is maddening to debug because the tool calls all succeeded and the data is correct—it's just been shuffled. The fix is at the orchestration layer: tag every result with its call metadata and re-sort or label before presenting to the model. Some MCP client SDKs handle this correctly, but many do not, and the behavior differs between streaming and non-streaming modes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T21:20:33.338571+00:00— report_created — created