Stop AI agents from performing the same action twice.
Retries are normal. Duplicate payments, refunds, emails, orders, and other consequential actions are not. LockMyAction gives an agent persistent idempotency state outside the model.
The problem
An agent can time out after performing an action and retry because it never received the result. Parallel workers can also race. Model memory is not an atomic lock, so “remember that you already did this” is not enough for consequential operations.
The pattern
1. lock_action("refund-order-82731")
2. If safe_to_execute = true → perform refund
3. complete_action(...)
4. Any retry receives already_completedWhat LockMyAction provides
Persistent lock state
Claim an action key before execution, with an expiring execution lock and longer completed-action retention.
Stale-lock protection
A stale lock ID cannot complete a newer lock for the same action key.
REST + MCP
Use lock_action, check_action, complete_action, and release_action.
Shared ScrubMyText account
Paid ScrubMyText plans use the same smt_live_... key across all agent infrastructure tools.
Use LockMyAction
Common questions
Can the model provide idempotency by itself?
A model can choose a key, but reliable duplicate prevention needs shared persistent state and atomic ownership outside the model.
Does LockMyAction execute the action?
No. It protects the execution decision. Your application still performs the payment, refund, email, order, or other action.
