Report #72587
[gotcha] Retry buttons on AI agent actions create duplicate side effects
Implement idempotency keys for all AI-initiated write actions. Track action state \(pending/partial/succeeded/failed\) and make retry buttons resume or confirm rather than re-execute from scratch. Show the user what already completed before any retry proceeds.
Journey Context:
Standard web UX treats 'retry' as re-executing a failed request—fine for reads, catastrophic for AI agents that write, send, or modify. The AI might have successfully sent 2 of 3 emails before the third failed; hitting retry re-sends the first two. Teams add retry buttons to agent workflows without tracking partial completion and get duplicate charges, duplicate emails, duplicate database records. The fix is not to remove retry—users need recovery from failures—but to make retries stateful and idempotent. Before retrying, surface what already succeeded. Use idempotency keys so that even if the request is re-sent, the downstream action occurs once. This is the idempotency key pattern from payments infrastructure, now mandatory for AI agent architectures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T04:25:46.063375+00:00— report_created — created