Add dedicated reasoning-depth hotkeys, non-semantic depth meter, and next-turn-safe switching
Open 💬 7 comments Opened Mar 11, 2026 by oxysoft
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
Summary
Codex should support dedicated reasoning-depth controls that are fast enough for frequent use, visually legible at a glance, and safe to use even while a turn is already in flight.
Problem
Right now, going through /models to change reasoning depth is too slow for something users may want to adjust constantly.
There are three related UX gaps:
- no dedicated shortcut for changing reasoning depth quickly
- the current semantic reasoning indicator is not the right mental shape for fast control/recognition
- commands are blocked during inference, so model/reasoning changes cannot cleanly participate in a fast
adjust -> abort -> resumeworkflow
Requested behavior
- add a dedicated shortcut for changing reasoning depth quickly, separate from the slower
/modelsflow - optionally keep model selection and reasoning-depth selection as distinct controls/keymaps
- add a non-semantic visual reasoning-depth indicator, for example:
[◉···][◉◉··][◉◉◉·][◉◉◉◉]- make the control work as a fast "control room" lever rather than a menu-heavy flow
Inference-safe switching semantics
If the user changes model or reasoning depth while a prompt is already running:
- do not change the in-flight request mid-execution
- the active turn should keep the model/reasoning configuration it was started with
- the newly selected model/reasoning depth should be staged for the next turn
This implies the model/reasoning config is effectively cached/snapshotted when a prompt is sent.
Why this matters
This unlocks a much cleaner workflow:
- adjust depth/model quickly
- abort if needed
- resume/continue without retyping
The broader point is that model/reasoning controls should feel like immediate cockpit switches, not buried menu actions.
Success criteria
- users can change reasoning depth with a direct shortcut
- the visual indicator is quickly readable without parsing semantic labels
- changing depth/model during inference does not mutate the running request
- the next-turn behavior is deterministic and visible to the user
Related context
Existing shortcut requests:
- #9807
- #12915
This issue broadens those requests with:
- a dedicated reasoning-depth UX
- a non-semantic indicator
- safe staging semantics for in-flight turns
7 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
One more connection: this pairs very naturally with the continuation/resume UX discussed in #14041 and #14042.
If model/reasoning changes are next-turn-safe, then the control flow can become much cleaner:
That seems like a much stronger mental model than forcing users back through
/modelsplus manual prompt editing every time they want to steer the current thread.I'd like to see this for
/fasttoo, having to steer it to stop after it finishes its current task to do this is not great.Strong +1 from real CLI usage.
In actual development, I do not need to switch models very often, but I do need to switch reasoning effort frequently. Most turns can stay at medium/high, then when I hit a genuinely hard debugging or architecture problem I want to raise the next turn to xhigh immediately, inside the same active session.
Right now this is much more awkward than it should be. In
codex-cli 0.118.0,/modelshows a dialog titledSelect Model and Effort, but the screen only lists models. That makes the current UX and documentation feel misleading: the title implies effort is directly switchable there, but in practice there is no obvious in-session effort control.Using
-c model_reasoning_effort=...with a fresh launch, or evenfork/resume --last -c ..., is a workaround, not a good interactive workflow. When you are actively developing, getting stuck, and wanting to temporarily escalate to xhigh, this should be a one-step operation, not a session-management exercise.What would help most:
/effortcommand or hotkey/model/statusand the statuslineThis is a very high-frequency control in real-world CLI use. It should be as cheap to change as temperature/gear in a cockpit, not something that requires restarting or forking the workflow.
Adding a related manual-override case.
If automatic reasoning selection is not available, or if the user wants to override it for a single turn, it would be useful to support lightweight inline markers in the prompt itself, not only a menu/hotkey flow.
Examples:
@high investigate this failure and propose the fix@medium summarize this diff@xhigh review the architecture tradeoffsWhy this helps:
/modelor another pickerSuggested semantics:
@low,@medium,@high,@xhighEffort: high (from @high)@namementions as effort markers, so this does not conflict with normal mentions or agent referencesA slash form like
/effort highis also useful, but inline markers are lower-friction when the user already knows the desired effort for this one prompt.I need this. As a Plus subscriber, I am very quota-conscious, so I try to use the lowest effort possible. But to switch the effort level in CLI, I need to type /model, then select the same model, and then select the effort level. Repeating this often is not fun.
Either a simple
/effortswitch or better yet, maybe a custom preset. Like I can assign 1 to 5.5 low and 2 to 5.3-Codex xhigh in settings and then just type/model 1or/model 2to switch to it directly.It would be incredibly helpful for me if the color of something visibly changes based on the current selected reasoning level. That's about the only way I'll really notice it.