Report #56736
[gotcha] Retrying failed AI agent requests duplicates irreversible side effects
Attach idempotency keys to every AI-initiated mutation. Design retry UX as 'check status and resume' rather than 're-execute from scratch.' Before offering retry, show users which steps already completed. For multi-step AI workflows, implement a transaction log so retries can skip completed steps.
Journey Context:
The standard UX pattern for failures is 'try again.' But AI agents often perform multi-step operations where early steps succeed and later steps fail. When the user hits retry, the entire sequence re-executes, duplicating the successful steps. This is especially dangerous with AI because the failure might occur in a validation step after the AI already triggered a side effect — sending an email, creating a database record, making a purchase. The user sees 'error, try again,' hits retry, and now has duplicate records, duplicate charges, duplicate notifications. The fix borrows from distributed systems: idempotency keys ensure re-executing an operation is safe. Stripe's API documentation provides the canonical pattern for this. But you must propagate this up to the UX layer — your retry button needs to know what already succeeded.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T01:43:25.859919+00:00— report_created — created