aasm approvals
Manage human-in-the-loop approval requests — list pending actions, approve or reject them, and watch for new requests in real time.
Synopsis
aasm approvals <SUBCOMMAND> [OPTIONS]
| Subcommand | Purpose |
|---|---|
list | List pending (or resolved) approval requests. |
get | Show details of one request. |
approve | Approve a pending action. |
reject | Reject a pending action. |
watch | Watch for new approval requests over WebSocket. |
All subcommands accept the global options.
aasm approvals list
List approval requests as a colored table. The TIMEOUT_IN column is
color-coded (red < 60s, yellow 60–180s, green > 180s).
| Flag | Type | Default | Description |
|---|---|---|---|
--output <FORMAT> | table | json | yaml | global default | Per-command output override. |
--status <STATUS> | pending | approved | rejected | pending | Filter by lifecycle status. Resolved history is bounded (default cap 1000). |
--agent <AGENT> | string | — | Filter to approvals submitted by this agent ID (exact match). |
aasm approvals list --status pending
ID AGENT ACTION CONDITION SUBMITTED_AT TIMEOUT_IN
ap-77 a1b2c3… file_write /etc/hosts 2026-06-09T14:01:00Z 2m 30s
aasm approvals get
Show details of a single pending approval request.
| Name | Type | Default | Description |
|---|---|---|---|
<ID> | string (arg) | — | Approval request ID to look up. |
--output <FORMAT> | table | json | yaml | global default | Per-command output override. |
aasm approvals get ap-77
aasm approvals approve
Approve a pending action.
| Name | Type | Default | Description |
|---|---|---|---|
<ID> | string (arg) | — | Approval request ID to approve. |
--reason <REASON> | string | — | Optional reason. May also be supplied on piped stdin. |
aasm approvals approve ap-77 --reason "verified safe"
Approved: ap-77 (status: approved)
aasm approvals reject
Reject a pending action. A reason is required in non-interactive mode
(supply --reason or pipe it on stdin).
| Name | Type | Default | Description |
|---|---|---|---|
<ID> | string (arg) | — | Approval request ID to reject. |
--reason <REASON> | string | required (non-interactive) | Reason for rejection. May also be piped on stdin. |
aasm approvals reject ap-77 --reason "writes outside allowed path"
Rejected: ap-77 (status: rejected)
aasm approvals watch
Watch for new approval requests in real time over the gateway WebSocket
events endpoint (filtered to approval events).
| Flag | Type | Default | Description |
|---|---|---|---|
-i, --interactive | flag | off | Enable interactive mode with keyboard shortcuts (a=approve, r=reject, q=quit; arrow keys navigate). |
aasm approvals watch --interactive
aasm approvals watch (interactive)
[a] approve [r] reject [Up/Down] navigate [q] quit
> ap-78 a1b2c3… network_egress 3m 00s
The interactive view marks the selected row with > and prints
id agent action countdown per row — it does not show a condition
field. (The non-interactive stream prints NEW <id> | agent=… | action=… | condition=… lines instead.)
Last updated: 2026-07-19 by Bryant