Human-in-the-loop approval gate for agent actions. Pauses tool execution until the user approves or rejects — the standard pattern for destructive operations.

npx slipstream-ui@latest add confirmation
Approval gate
Delete all files in /tmp?
Pending
This affects 14 files and cannot be undone.
delete_files

Decisions so far: none

Props

PropTypeDefaultDescription
titlestring—Summary of the action requiring approval.
descriptionstring—Detail: affected resource or risk note.
toolNamestring—Tool name shown as mono text.
status'pending' | 'approved' | 'rejected''pending'Controlled outcome; omit for uncontrolled.
onApprove() => void—Called on approval.
onReject() => void—Called on rejection.
labelsobject—Label overrides for localization.

Accessibility

  • Pending state renders role=alertdialog labeled by the title.
  • Outcome chip announces Approved/Rejected.
  • Never auto-approve on timeout — keep waiting or fail explicitly.