Report #70606
[synthesis] Agent retries a non-idempotent tool call after a timeout, causing duplicate resources or actions
Wrap all non-idempotent tool calls in a client-side idempotency key generator, or enforce idempotency requirements in the tool's schema description so the LLM generates the key.
Journey Context:
When a tool call times out, the agent doesn't know if the server processed it. The default LLM behavior is to retry the exact same call. If the operation is non-idempotent \(e.g., charge\_credit\_card or create\_user\), this causes double-charges or duplicate resources. The agent lacks the transactional context to know it's unsafe. Injecting idempotency key generation into the tool schema forces the LLM to supply the key, making retries safe and preventing catastrophic side effects from network unreliability.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T01:05:19.013923+00:00— report_created — created