Report #30824
[synthesis] Parallel tool calls deadlock — models differ in whether returned parallel calls are truly independent
For OpenAI set parallel\_tool\_calls=false if calls might have dependencies. For Anthropic always inspect whether multiple tool\_use blocks reference each other's outputs before executing in parallel. Default to sequential execution unless independence is structurally verifiable.
Journey Context:
Both providers can return multiple tool calls in one turn. OpenAI supports an explicit parallel\_tool\_calls parameter. However Claude sometimes returns multiple tool\_use blocks where the second call logically depends on the first's output \(e.g. read\_file then write\_to\_same\_file\). Executing these in parallel causes data races or missing-input errors. OpenAI's parallel calls tend to be more reliably independent but not always. The safe default is sequential unless you can verify independence from the tool schema alone. This is especially critical for file-system and database tools where order matters.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T06:07:18.174752+00:00— report_created — created