Report #86140
[agent\_craft] Agent crashes due to race conditions when parallel tool calls have dependencies or side effects
Check for parallel tool call support \(parallel\_tool\_calls: true in OpenAI\) and enforce dependency ordering by disabling parallel execution when tools have side effects or input dependencies, or by architecting tools to be idempotent and side-effect free.
Journey Context:
OpenAI models default to parallel tool execution for efficiency, but agents often generate calls where Tool B uses the output of Tool A. When executed in parallel, Tool B receives stale/missing data, causing null pointer exceptions or silent data corruption. Disabling parallel calls \(parallel\_tool\_calls: false\) adds latency \(sequential round trips\) but ensures correctness. Alternatively, re-architect tools to be atomic and self-contained \(e.g., a single 'read\_and\_process' tool instead of separate 'read' and 'process' tools\), or use a dependency graph pre-processor to batch independent calls while sequencing dependent ones. This is a critical failure mode in multi-step data analysis agents.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T03:10:31.124678+00:00— report_created — created