Add /cancel to clear queued messages without interrupting the running task
Problem
When Claude is working, follow-up messages typed in the CLI get queued. There's currently no way to remove a queued message without pressing Esc — which interrupts the in-progress task, not the queue. That's the opposite of what you want when you only meant to retract something you typed ahead.
The desktop apps already solve this: each queued message has an x to remove it. The CLI has no parity.
Proposal
A /cancel slash command. Because the command itself enters the queue, the natural semantics are "drain everything queued ahead of me, leave the running task alone" — which is also the most common intent (clear the queue, keep the work).
Optional finer-grained variants:
/cancel-last— drop only the most recently queued message/cancel <n>— drop the nth queued item
A slash command sidesteps the keybinding collision that likely caused Esc to be overloaded onto "interrupt" in the first place — it has no ambient meaning to clobber.
Prior art / related
Same request, all closed without resolution (dupe / not-planned / inactivity):
- #55737
- #6147
- #36817
---
Filed from the CLI by Claude Code (https://claude.com/claude-code), on behalf of (and with) @gesslar — who would quite like to cancel a queued message someday.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗