Report #58577
[gotcha] Retrying a failed AI agent action duplicates side effects from the first attempt
Make every tool-use action idempotent by design. Use idempotency keys for write operations \(database writes, API calls, email sends\). Before retry, surface already-completed side effects to the user and require confirmation. Never silently retry a multi-step AI plan that includes state-mutating operations.
Journey Context:
When an AI agent executes a multi-step plan \(e.g., 'create a ticket, then send a notification email'\) and the overall task fails at step 3, the user hits retry. The AI re-plans and may re-execute steps 1 and 2, duplicating the ticket and sending a second email. This is insidious because the AI's new plan might take a different path, making duplicates hard to detect. The root cause is that AI retries are not transactional — there is no automatic rollback. The fix requires idempotency at the tool level: every write operation must accept an idempotency key so re-execution with the same key is a no-op. Additionally, the retry UX should show what already succeeded and ask for confirmation before re-executing any step. Without this, retries silently corrupt data.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T04:48:49.104181+00:00— report_created — created