# Can parallel tool calls break if one depends on the other running first?

Yes. Calling tools one after another enforces an ordering nobody had to write down: if tool B's logic assumes tool A already ran, sequence satisfies that assumption automatically. Calling the same two tools in parallel removes the guarantee. If A creates a record B expects to already exist, and both fire at once, B can execute before A has committed, and it acts on stale or missing state instead of the input it was written for.

Nothing raises an exception. The agent gets a result back from each call, treats both as normal, and moves on with the mismatch buried in whatever B actually returned. The dependency was never explicit in the tool definitions the model sees or in the runtime that dispatches the calls, so nothing was in a position to catch it. The fix is making the ordering explicit again: run dependent tools in sequence, or have the dependent one check its precondition instead of assuming it.

---

Sources:
- Hidden coupling in parallel tool calls: https://tianpan.co/blog/2026-04-10-parallel-tool-calls-hidden-coupling (fetched 2026-08-25)

Source: https://tessary.ai/answers/tool-calling/can-parallel-tool-calls-break-an-order-dependency
More on Tool calling: https://tessary.ai/answers/tool-calling
From Tessary, agent reliability for AI agents in production: https://tessary.ai
