How AI agents should ask for permission before taking irreversible actions
---AI agents need to do things. But some actions are irreversible:
The naive approach: agent acts, then asks for forgiveness.
This erodes trust. Users stop giving agents permission.
Better approach: Ask for permission before the action. Make the confirmation clear, low-friction, and informative.
---Agent: "I'm ready to send this email to 50 customers. Shall I proceed?"
Show: What will happen? To whom? Why?
Human: [Approve] [Review Again] [Modify] [Cancel]
Agent: "Done. Sent email to 50 customers at 14:32."
Show what actually happened. Bounce rates? Errors? Confirmations?
"Ready to proceed?"
User has no idea what "proceed" means.
"I'll delete 342 old log files (2.3 GB). This action cannot be undone. Proceed?"
Crystal clear what happens.
Before sending, show:
Don't just [Approve] [Cancel]. Offer:
If the agent is uncertain, say so:
Agent confidence: 82%
"I'm 82% sure this file is a duplicate. Confidence is lower because the names are similar but not identical. Proceed with deletion?"
Vigilo monitors 239 countries for threats. When risk crosses a threshold, the agent proposes an alert:
Threat detected: Political unrest spike in Argentina
Current risk level: 4/5 (Danger) [was 2/5]
Affected travelers: 342 active users in Argentina region
Alert type: Red alert (travel not recommended)
Historical accuracy: 94% (this analyst is usually right)
[Send Alert] [Review Data] [Downgrade to Yellow] [Hold]
Before locking a vehicle until service is completed:
Action: Lock engine for vehicle #47 until service order #2891 is approved
Driver: Ivan (ID: 156)
Reason: Regular maintenance cycle overdue by 3 days
Service needed: Oil change, filter, inspection
Estimated downtime: 2 hours
[Lock] [Skip This Cycle] [Notify Driver First] [Cancel]
Before deploying new code to production:
Deploy to: Production (all 4 platforms)
Changes: 6 commits, 342 lines added/removed
Tests passing: ✅ 156/156
CI status: ✅ All green
Rollback ready: ✅ Yes (previous version tagged v0.1.43)
[Deploy] [View Changes] [Run Tests Again] [Cancel]
Problem: Agent asks for confirmation on trivial actions too.
Result: Users approve everything without thinking. Defeats the purpose.
Solution: Only confirm for reversibility threshold. Learn when users actually review.
Problem: 5 confirmation dialogs for 1 action.
Result: Users rage-click through all of them.
Solution: One clear confirmation. Put additional info in preview/expandables.
Problem: Confirmation shows: "UUID: 123abc456... File size: 2,047,382 bytes..."
Result: User can't parse what matters.
Solution: Show human-readable summary. Details on request.
---When to ask: Right before the irreversible action, not hours later.
How long to wait: Depends on context. For safety-critical: 5-10 seconds max. For routine: user's pace.
Log:
If user rejects confirmation twice, escalate to human specialist. Don't keep asking.
---Human-in-the-loop isn't bureaucracy. It's trust infrastructure.
When users know an agent will ask before doing something irreversible, they trust the agent more. They give it more authority. They use it more.
Confirmation flow = Trust multiplier.
---