Add /cancel to clear queued messages without interrupting the running task

Resolved 💬 3 comments Opened May 26, 2026 by gesslar Closed Jun 26, 2026

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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗