Skip to content

[FEATURE] Keyboard shortcut to switch thinking effort level while composing prompt #9807

Closed

Description

@PaulRBerg

What feature would you like to see?

A keyboard shortcut to switch between Codex 5.2 models (Low, Medium, High, Xhigh) while composing a prompt in the input area.

Use case: I often start writing a prompt and then realize mid-composition that I want to use a smarter model for a complex task, or a faster/cheaper model for a simple one. Currently, there's no way to switch models without abandoning the prompt or using the menu.

Suggested implementation:

A keybinding like Ctrl+M to cycle through available models

This would improve the workflow for users who frequently switch between models based on task complexity.

Additional information

Codex v0.89.0

Activity

  1. added
    enhancementNew feature or request
    CLIIssues related to the Codex CLI
    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal display
    on Jan 24, 2026
  2. vadimcomanescu commented on Jan 28, 2026

    @vadimcomanescu

    Couldn't agree more. Claude code, Opencode pretty much all of them have this.

  3. venkatd commented on Feb 15, 2026

    @venkatd

    This would be great because sometimes I will want to swap between multiple models within a session.
    Or smarter model to plan, medium model to execute, faster model to QA.

    Even better would be setting up rules on which model to use and when so I don't have to swap by hand

  4. PaulRBerg commented on Feb 18, 2026

    @PaulRBerg
    Author

    This would also be helpful in the macOS app

  5. jorgejhms commented on Feb 26, 2026

    @jorgejhms

    I would like a separate keymap for changing thinking levels. On open code this is ctrl+t. they also have ctrl+x m for opening the model selection

  6. oxysoft commented on Mar 11, 2026

    @oxysoft

    This feels like the narrower keyboard-control seam under #14356.

    That issue broadens the ask in three ways that seem worth keeping tied together:

    • dedicated reasoning-depth controls, not just model switching
    • a non-semantic depth meter with shapes like [◉···] [◉◉··] [◉◉◉·] [◉◉◉◉]
    • next-turn-safe switching semantics, so changing model/depth during an in-flight turn stages the new setting for the next prompt instead of mutating the running one

    In practice I think the control surface wants to feel like a fast cockpit lever, not something that requires walking back through /models constantly.

  7. RickVM commented on Mar 19, 2026

    @RickVM

    I would like to toggle between spark and whichever model I was already running

  8. jkryanchou commented on May 16, 2026

    @jkryanchou

    alt + p -> Claude Code could switch.

  9. NerdyPunkDad commented on May 22, 2026

    @NerdyPunkDad

    If you add the following to ~/.codex/config.toml it will

    • map 'alt-i' to increasing reasoning effort (from "low" to "medium", "high", "x-high")
    • map 'alt-i' to increasing reasoning effort (from "x-high", to "high", "medium", "low")
    • map 'alt-f' to turning fast mode on+off
    • Remove the conflicting keybindings that prevent you from mapping "alt-d" and "alt-f"

    [tui.keymap]
    chat.decrease_reasoning_effort = "alt-d"
    chat.increase_reasoning_effort = "alt-i"
    global.toggle_fast_mode = "alt-f"
    editor.delete_forward_word = ["alt-delete", "ctrl-delete", "ctrl-shift-delete"]
    editor.move_word_right = ["alt-right", "ctrl-right"]

  10. PaulRBerg commented on May 22, 2026

    @PaulRBerg
    Author

    Thanks for the idea @NerdyPunkDad - custom keybindings are a great workaround in the interim.

    There's a typo in your comment in the 2nd bullet point - I think you meant to write alt-d.

    editor.delete_forward_word = ["alt-delete", "ctrl-delete", "ctrl-shift-delete"]
    editor.move_word_right = ["alt-right", "ctrl-right"]
    

    I'm not sure I understand why we need this. Can you explain? Why do they conflict with alt-i and alt-d and alt-f?

    edit: I figured it out:

    [tui.keymap]
      chat.decrease_reasoning_effort = "alt-d"
      chat.increase_reasoning_effort = "alt-i"
      global.toggle_fast_mode = "alt-f"
      # need to set this because `alt-d` is by default set to `delete_forward_word`
      editor.delete_forward_word = ["alt-delete", "ctrl-delete", "ctrl-shift-delete"]
      # need to set because `alt-f` is by default set to `move_word_right`
      editor.move_word_right = [
        "alt-right",
        "ctrl-right",
      ]
  11. PaulRBerg commented on May 23, 2026

    @PaulRBerg
    Author

    I've modified @NerdyPunkDad's keymaps to use alt-minus and alt-= (note: on Macs at least, = is on the same key as +, but + requires a shift; I decided to stick with = for simplicity), which I find a little more intuitive and easier to remember. And they also solve the issue of having to override editor.delete_forward_word because alt-minus and alt-= do not bind to anything by default.

    [tui.keymap]
      chat.decrease_reasoning_effort = "alt-minus"
      chat.increase_reasoning_effort = ["alt-="]
      global.toggle_fast_mode = "alt-f"
    
      # need to set because `alt-f` is by default set to `move_word_right`
      editor.move_word_right = [
        "alt-right",
        "ctrl-right",
      ]
  12. frhanjav commented on Jun 14, 2026

    @frhanjav

    shift + up and shift + down are the default keymaps to increase and decrease reasoning effort respectively. also you can do /keymap to check the existing keymaps. #9807 and #10155 these issues can be closed now.

  13. PaulRBerg commented on Jun 14, 2026

    @PaulRBerg
    Author

    @frhanjav that's great news. In which Codex CLI version did they add keybindings for increasing/decreasing effort level?

  14. jkryanchou commented on Jun 14, 2026

    @jkryanchou
  15. PaulRBerg commented on Jun 18, 2026

    @PaulRBerg
    Author

    Yeah, I can confirm that SHIFT+↑ and SHIFT+↓ work now.

    Closing this issue.

  16. changed the title [-][FEATURE] Keyboard shortcut to switch models while composing prompt[/-] [+][FEATURE] Keyboard shortcut to switch thinking effort level while composing prompt[/+] on Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displayenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions