Report #91589
[architecture] Agent tool calls are not idempotent, causing duplicate database entries or double API charges on retries
Generate and pass an idempotency key \(e.g., UUID\) with every tool call, and design tool backends to reject duplicate keys
Journey Context:
LLMs are non-deterministic. If a tool call fails or times out, the orchestrator might retry. If the backend already processed the first call but the network failed, a retry creates a duplicate. Standard distributed systems design applies here: idempotency keys ensure that multiple identical requests have the same effect as a single request.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:19:30.788320+00:00— report_created — created