Block

Approval Inbox

The agent's pending actions as a reviewable inbox — binary and multi-choice approvals with live state, queued work visible below.

full width

3 actions pending approval

input
{
"path": "ch04.md",
"bytes": 1204
}

Allow write-file to update ch04.md?

input
{
"from": "drafts/motif.md",
"to": "notes/motif.md"
}

notes/motif.md already exists. Resolve?

input
{
"path": "tmp/scratch-notes.md"
}

Delete tmp/scratch-notes.md? This cannot be undone.

Approve, deny, or choose a resolution — the pending count drains as you respond. Drag the edge or pick a width: the inbox holds at panel sizes because it's meant to live in one.

Recipe

tool-call + queue

ToolCall owns the approval semantics (binary consent, multi-choice, free-text); AgentQueue owns the not-yet. The inbox is the composition an operator actually works from — pending count is live state, not a label, and resolving an action visibly drains it.

Installation