TL;DR You're watching Claude work and you already know your next two steps. No need to wait for it to finish or cut it off: type them and press
Enter. They queue and reach Claude in order, as soon as whatever it is running finishes. Want them in now?Ctrl+Entersends them straight away. Changed your mind about one? The prompt itself tells you, Press up to edit queued messages: hit↑and you get the queue back to edit.
A queue that doesn't interrupt
While Claude processes a turn, the prompt stays live. Anything you send with Enter doesn't cut it off, it queues. It shows up above the input, grayed out until Claude starts answering it, and reaches Claude as soon as the tools it is running finish, within the same turn. If the turn ends first, it goes out on its own, in the same order you typed it. That's different from interrupting (Esc, which stops it now) and from asking a side question (/btw, which never touches the thread).
What it looks like
* Pontificating… (14s · still thinking with high effort)
└ working on your task
❯ This is the queue ← your message, queued
❯ Press up to edit queued messages
Setup
1. Type while it works and press Enter
Your message doesn't interrupt the running turn: it queues and Claude reads it as soon as the tools it has in flight finish.
2. Stack as many as you want
Queue several in a row. They run in the exact order you sent them, one after another.
3. Manage the queue with ↑
The prompt reminds you: Press up to edit queued messages. Hit ↑ from the first line of the input and you pull back everything queued, one message per line. Edit it and press Enter to queue it again as a single entry, or clear the input to drop it.
4. Send it now with Ctrl+Enter
If you don't want to wait, Ctrl+Enter (or Ctrl+X Ctrl+S, which works in any terminal) sends what you queued right away, with your draft behind it. Since v2.1.281 it doesn't throw away the work in progress: if Claude is running commands or subagents, they move to the background and keep going while Claude reads your messages in the same turn. It only interrupts when Claude is writing its reply or running something that can't move to the background.
5. When NOT to queue
If you want to change course now, don't queue: interrupt with Esc and redirect, since Claude keeps the work it already did and sends whatever you queued right after. And if it's a quick question that shouldn't enter the history, ask it with /btw, which works even while Claude is busy.
Reference
| I want to… | Key | What it does |
|---|---|---|
| Line up the next instruction | type + Enter |
Queues and reaches Claude once its tools finish, in order. No interrupt |
| Edit or delete what's queued | ↑ |
Pulls the whole queue back into the input to edit or drop |
| Send what's queued now | Ctrl+Enter or Ctrl+X Ctrl+S |
Sends it straight away; running commands move to the background |
| Change course right now | Esc |
Stops the running turn, keeps the work done, sends what's queued |
| Ask without cluttering the thread | /btw |
Ephemeral side question in parallel, never enters history |
One note: since a queued message reaches Claude later, write it self-contained ("add a test to auth.ts") instead of relying on whatever Claude has on screen at that moment.
Official docs: Interactive mode
Requirements
Ctrl+Enterneeds Claude Code v2.1.275 or later, and moving work to the background needs v2.1.281. In terminals that don't tellCtrl+Enterapart, it arrives as a plainEnterand queues; useCtrl+X Ctrl+Sthere. How both keys behave comes from the docs, not from a captured session.