Approval Gates That Do Not Turn Agents Into Paperwork
Where to put human checkpoints around irreversible agent actions, how to make them fast and informative, and how to avoid training people to click approve without reading.

There is a specific way approval design fails, and almost every team walks into it. Nervous about autonomy, they gate everything. Users face a confirmation dialog every fourth step. Within a week those users are clicking approve without reading, because the ninety-eighth dialog looks exactly like the ninety-seventh and none of them have ever been a problem.
The gates are all still there. The safety is gone. You have built the appearance of oversight and trained people out of providing it.
Gate by consequence, not by anxiety
Approval is worth an interruption when it protects a real boundary: money leaving the company, a message going to someone outside it, publishing, deletion, permission changes, sensitive data moving, or an action whose target the system is not certain about. Everything else — read-only discovery, reversible drafts, staged changes inside a defined scope — should proceed without asking.
Scarcity is what makes a checkpoint work. If a dialog appears rarely, its appearance is itself a signal that this one matters.
- Show the exact target, the exact payload, and the actual consequence
- State what the agent already verified and what it is still unsure about
- Offer edit, approve, cancel, and a safe fallback — not a binary the user has to fight
- Bind approval to the specific displayed action, so any later change requires a fresh decision
- Remember preferences only for narrow, reversible classes of action
Make the checkpoint carry information
“The agent wants to continue. Proceed?” transfers responsibility without transferring any of the knowledge needed to exercise it. The user cannot evaluate that, so they will approve it, and now they own an outcome they had no way to assess.
A useful checkpoint names the recipient, shows the content, states what data is leaving the system, and describes the expected result — all readable in about five seconds. If reviewing it properly takes longer than doing the task by hand, the gate is in the wrong place or the action is too large.
Batch the routine, isolate the risky
When an agent produces forty similar low-risk items, forty dialogs is the wrong interface. Show a reviewable list with everything visible at once, let the user edit or exclude individual rows, and approve the set in one action. Save the individual, full-attention checkpoint for the item that is genuinely different — the one going to an external domain, or the one with an unusually large number attached.
Treat corrections as design feedback
Log what users edit and what they reject. A field that gets corrected repeatedly means the agent lacks context, not that the user is fussy. A class of action rejected consistently means the policy is wrong. And an action approved unchanged a hundred times in a row is a candidate for automation — as long as it is still reversible when it goes wrong.
Primary sources
First-party documentation and announcements used to ground this field note.