pending-approvalslisted
Install: claude install-skill metraton/gaia
# Pending Approvals
Pending approvals are not automatically resurfaced in later sessions. Recovery
is explicit: the user asks to list/search pendings or supplies an approval id.
Use the unified CLI and treat the DB as primary:
- `gaia approvals pending` -- the undecided pendings only (all sessions by
default; `--session <id>` narrows to one orchestrator session)
- `gaia approvals list` -- the DB-backed grants table plus the undecided
pendings beneath it; it takes `--session` / `--orphans-only` / `--json` and
has NO `--status` filter. Filtering by decision lives on
`gaia approvals history --status <pending|approved|rejected|revoked>`
(`--limit N`, default 50).
- `gaia approvals show <approval_id>`
- `gaia approvals approve <approval_id>`
- `gaia approvals reject <approval_id>`
- `gaia approvals revoke <approval_id>`
Every lookup and single-item decision requires the complete canonical
`P-<32 lowercase hex>` id. A short display label or raw nonce is never a lookup
key. Full-id lookup may cross session boundaries. Always re-present exact content,
risk, rollback, and verification before an approve decision; for COMMAND_SET,
show the full indexed ordered set. Never infer approval from conversational
language alone or select a similarly prefixed id.
**These verbs are not all the orchestrator's to run.** The trusted-CLI
role guard (`hooks/modules/security/gaia_cli_only_guard.py`) splits them
along a read/write line, not a T3 line: `approvals list` / `show` / `pending`