Report #96354
[agent\_craft] Parallel tool calls cause race conditions on shared resources
Disable parallel tool calling in the API request \(e.g., \`parallel\_tool\_calls: false\` for OpenAI\) whenever tools perform writes to the same database, file, or external state. Force sequential execution and feed the result of tool A as context to tool B.
Journey Context:
OpenAI's parallel function calling \(June 2024\) executes tools concurrently for latency. If Tool 1 and Tool 2 both write to \`database.json\`, the result is non-deterministic or corrupted. Agents must treat 'read-only' tools \(search\) as parallelizable but 'write' tools as sequential. The failure mode is silent data corruption, not an explicit error, making this critical.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T20:18:47.404382+00:00— report_created — created