-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Labels
Description
Describe the feature or problem you'd like to solve
There is no way to cancel or remove a message or slash command that has been queued (via Ctrl+Q / Ctrl+Enter) while the agent is busy or during /compact. Once enqueued, messages are automatically processed in order when the agent finishes — even if the user has changed their mind or made a mistake.
Proposed solution
Add a mechanism to view and selectively cancel queued messages before they are executed. This could take the form of:
- A
/queuecommand to list pending messages, with/queue cancel <n>to remove a specific entry. - An interactive UI overlay (e.g., triggered by a keybinding) showing the queue with the ability to navigate and delete items.
- A keybinding (e.g.,
Ctrl+Shift+Q) to clear the entire queue at once.
This would benefit Copilot CLI users by:
- Preventing accidental or unwanted actions from queued messages the user no longer intends to send.
- Complementing existing cancellation behavior (
Ctrl+Cfor active operations,Escapefor specific commands like/compact) with control over pending operations. - Improving confidence in the queueing workflow, encouraging users to queue more freely knowing they can course-correct.
Example prompts or workflows
- Accidental queue during compaction — User sends a message during
/compact(auto-queued per v0.0.389), then realizes it was wrong. They want to remove it before compaction finishes and the message is sent to the model. - Multiple queued commands — User queues several slash commands with
Ctrl+Qwhile the agent is working, then decides the third one is no longer needed. They run/queueto see the list and/queue cancel 3to drop it. - Clear entire queue — User has queued several messages but the agent's response changes their plan entirely. They press
Ctrl+Shift+Q(or run/queue clear) to discard all pending messages and start fresh. - Review before execution — User wants to double-check what's queued before the agent finishes. They press a keybinding to see a transient overlay of queued items, then dismiss it or remove specific entries.
Additional context
- Current queueing was introduced in v0.0.394 (
Ctrl+D) and the keybinding was later changed toCtrl+Q/Ctrl+Enterin v0.0.407. - Auto-queueing during
/compactwas added in v0.0.389. - Existing cancel mechanisms (
Ctrl+C,Escape) only affect the currently running operation, not messages waiting in the queue.
Reactions are currently unavailable