[FEATURE] Action approval queue for unattended agents: queue actions instead of blocking, review them later in one batch
Status Open
Maintainer reply None cached
Activity 0 comments · opened Oct 15, 2026
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Related, but different:
- #44771 asked for async approval of scheduled agents through Slack. It closed as stale, and the bot asked for a new issue if the need is still relevant. It is. This request asks for a built-in queue instead of an external channel.
- #85151 asked for a permission queue that does not block, in interactive mode only. It also closed as stale.
- #100798 asks for a live pane of pending approvals across sessions. There, each session still blocks until someone clicks. This request is about approvals that do not block, reviewed later in one batch.
- #85820 and #86915 are open bugs: an unanswered prompt in a scheduled task hangs for days and stops later runs. This feature removes the cause.
Problem Statement
I use scheduled tasks, routines and /loop for work that runs while I am away. The agent often reaches an action that needs my approval: send a message, write to an external service, or use sensitive data.
Today I have two bad choices:
- Block and wait. A Desktop scheduled task in Manual mode stalls until I approve. I must watch for notifications and answer each prompt when it comes. If I miss one, the run hangs, and later runs of the same task can be skipped (#85820, #86915).
- No check at all. Routines use connector tools, including writes, without asking. For Desktop tasks, "always allow" approves the same tool for every future run, with any input.
I do not need to approve these actions in real time. I need to approve each one before it happens, at a time I choose.
Proposed Solution
An action approval queue for unattended sessions.
- When an unattended session reaches a tool call that needs approval, it does not block. It adds the request to a queue. Then it continues with other work, or ends the run cleanly.
- Each queue item shows:
- the session or task, and the time it was queued
- the tool and its exact inputs (for example, the full message text and the recipient)
- the agent's reason for the action
- a link to the session transcript
- I review all items on one page in the desktop, web and mobile apps, at a time I choose (for example, each morning). For each item I can: Approve, Deny, Edit inputs and approve, or Reply with an instruction.
- After approval, the action runs, in the resumed session or in the next run of the task. The result goes into that session's transcript.
- Safety rules:
- One approval applies to one item, with the exact inputs I saw. It is not a blanket allow rule.
- Items expire after a time I set. An expired item is denied, not run.
- If the context changes before the action runs (for example, new replies in the thread the agent wants to answer), the agent queues the item again and does not run it.
- Opt-in per task, routine or session, for example a setting such as
"unattendedApproval": "queue", next to today's behaviour.
Alternative Solutions
- PreToolUse
"defer"is the closest primitive. It pauses aclaude -prun at one tool call and keeps the exact inputs indeferred_tool_use. But it works only with-p, only when the turn has a single tool call, and the caller must build its own queue, storage and review UI. Open bugs on resume: #97196, #97358. - "Always allow" on a Desktop task removes the stall, but it approves every future input of that tool, not only the one I reviewed.
- Third-party relays to Slack, Discord or a phone (see #37797, #44771) need my own server, and the session still blocks while it waits.
- Watching the session works, but I must be available when the prompt comes.
Priority
High - Significant impact on productivity
Feature Category
Other
Use Case Example
- At 02:00 a scheduled task triages new issues. It drafts replies to three Slack threads and a status comment on a ticket.
- Each send needs my approval. The task queues four items and finishes the rest of its work. It does not hang.
- At 09:00 I open the queue. I approve two replies, edit the text of the third, and deny the ticket comment because a teammate already answered.
- The approved actions run. The transcript shows what ran and when.
- The next run of the task starts on time, because nothing blocked it.
Additional Context
- A possible path: extend
"defer"to scheduled tasks, routines,/loopand background sessions, support turns with several tool calls, and add a review page over the deferred calls. - Push notifications and Remote Control help when I am available. They do not help at night or during meetings, and the session still blocks.
- The queue also gives an audit trail: what the agent asked to do, and what I decided.