[FEATURE] Process queued messages sequentially (one message = one turn, FIFO) instead of merging into a single combined message
Feature Request
Process queued messages sequentially — one message per turn (FIFO) — instead of merging all of them into a single combined message when the current turn ends.
Current behavior
When Claude is working and I type additional prompts, they are queued (which is great — they don't interrupt the running task). However, when the current turn finishes, all queued messages are delivered at once as a single combined user message.
Desired behavior
An option to deliver queued messages one at a time:
- Turn finishes → deliver queued message #1 only.
- Claude fully completes that task (including verification).
- Then deliver queued message #2, and so on — a true FIFO task queue.
Why this matters
- Each queued prompt is usually an independent task. Merging them changes the semantics: the model plans everything at once, mixes contexts across tasks, and skips the "finish + verify" boundary between tasks.
- The main use case is stacking tasks and stepping away: queue 3–5 prompts, let Claude work through them one by one, come back to per-task results. With merged delivery, one giant turn handles everything and it's much harder to review what happened per task.
- Parity with OpenAI Codex CLI: Codex processes queued inputs sequentially (one queued prompt = one turn), and users who work with both tools rely on that workflow daily. This is currently a notable workflow gap in Claude Code.
Suggested implementation
A setting (with the current behavior as default, if preferred), e.g.:
{ "queuedMessages": { "delivery": "merged" | "sequential" } }
or a toggle in the queued-messages UI. Bonus: let the user reorder/delete individual queued messages while they wait (partially exists today), and show which queue position is currently executing.
Related issues (none covers this exact ask)
- #64204 — sequential message queuing, but scoped to the VS Code extension and about queueing instead of interrupting.
- #65452 — defer queued delivery until turn completion (delivery timing, not one-at-a-time sequencing).
- #50246 — queue instead of interrupt (already the CLI behavior).
- #34345 (closed) — VS Code long-press queue/schedule context menu.
Environment
- Platform: macOS (desktop app / CLI) — but applies to all platforms
- Also reproduced on Windows CLI
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
+1
billion dollar company btw
billion?
i wanted exactly this and ended up building it outside claude code: a small pane next to it where typed messages wait for the turn to fully end, delivered one per turn, in order. it uses the Stop hook (returns the next message as additionalContext) plus SessionStart/End and UserPromptSubmit, so nothing is patched
https://github.com/codecShivam/claudeq
still think this belongs in claude code itself, sharing in case it unblocks anyone until then.