Upgrade Alt+Up queue navigation into a first-class queued-message selector/editor
Summary
Upgrade the current Alt+Up queued-message mechanic into a first-class queued-message selector/editor.
The ideal interaction:
Alt+Up/Alt+Downnavigates queued messages- releasing
Altenters edit mode on the currently selected queued message Alt+Downpast the newest queued message returns selection to the composer
This should make queued messages feel like a real editable stack instead of a hidden one-off mechanic.
Problem
Queued messages are useful, but the interaction surface feels underpowered.
Right now the queue exists more like a narrow convenience than a manipulable object. If users are stacking follow-up prompts while a turn is running, they should be able to:
- move through queued messages quickly
- edit them directly
- return to the composer naturally
- eventually reorder them
That feels like the obvious terminal-native shape.
Requested behavior
Selector behavior
Alt+Upselects older queued messagesAlt+Downselects newer queued messages- going past the newest queued message with
Alt+Downreturns focus/selection to the live composer - the selected queued message is visibly highlighted
Edit behavior
- while
Altis held, user can move through the queue - on releasing
Alt, Codex opens the selected queued message for editing
That gives the queue a direct “peek, choose, drop into edit” flow.
Future extension: reordering
Once queued messages are true selectable objects, reordering feels natural too.
For example:
Alt+Shift+Up/Alt+Shift+Downto reorder queued messages
Terminal limitation / fallback
I do not know whether all supported terminals expose Alt as a reliable modifier with distinct key-down / key-release behavior.
If reliable release semantics are not possible, the fallback should still preserve the same idea:
- one shortcut enters a queue selection modal
Up/Downnavigates queued messages- a second key edits the selected queued message
Escor equivalent returns to the composer
That would be less elegant than release-to-edit, but still much better than leaving the queue as a weakly operable feature.
Why this matters
Queued prompts should feel like a real stack/workbench, not a hidden buffer.
This would make Codex better at:
- iterative follow-up planning
- stacking multiple unrelated follow-ons while a turn is still running
- refining queued prompts before they fire
It is also a natural sibling to broader terminal/editor expectations around selectable objects, modal navigation, and first-class keyboard control.
Related issues
- queueing follow-up messages after a turn ends: #11212
- configurable hotkeys: #3049
Invitation
Would be good to discuss:
- whether
Altrelease semantics are practical across supported terminals - whether the fallback should be modal or inline
- good default reordering bindings
- whether queued messages should eventually support multi-select / batch actions too
6 Comments
Related context:
This issue is the next layer up from those. It treats queued messages as a first-class selectable/editable stack, with a graceful modal fallback if terminals cannot provide reliable
Altrelease semantics.Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
One important implementation note after looking at terminal/protocol support more closely:
This should probably be treated as a progressive-enhancement input layer, not as an all-or-nothing feature.
There is a real path here in the Rust terminal ecosystem already:
crosstermalready exposes this direction viaPushKeyboardEnhancementFlags/KeyboardEnhancementFlags::REPORT_EVENT_TYPES, specifically for terminals that support the kitty keyboard protocolRelevant docs:
So my strong preference would be:
In other words: don't keep the world in the past just because the portable baseline is weaker. Use the modern protocols where available, make the difference an implementation detail, and keep pushing the terminal/TUI ecosystem toward higher-fidelity input handling. This feels mission-critical for serious software quality, not like a gimmick.
This feature request hasn't received enough upvotes, so I'm closing it.
(Bump) I second the need to change the queue order. For example, if queued up a list of tasks, and then a more urgent one comes about although I want to maintain the context of that thread, promoting a new message to be next to load, that would be helpful. The proposed requested behavior sounds good to me.
@TroyRobinson, this issue was closed because it didn't receive enough upvotes. If you'd like to propose something similar, please open a new issue. Sometimes issues don't get upvotes because their descriptions or titles aren't clear enough. By reframing the feature, you might be able to attract more interest.