Skip to content

Model picker shortcut does not work when macOS input source is Korean (Maybe non-english) #22279

@hon454

Description

@hon454

What version of the Codex App are you using (From “About Codex” dialog)?

26.506.31421 (2620) Additional runtime version observed from bundled CLI/logs: codex-cli 0.130.0-alpha.5

What subscription do you have?

ChatGPT Plus / Pro / Team / Enterprise

What platform is your computer?

Darwin 25.4.0 arm64 arm

What issue are you seeing?

The model picker keyboard shortcut works only when the macOS input source is English/ABC. When the input source is Korean 2-Set, the same shortcut does nothing.

The affected shortcut appears to be:

  • Command: composer.openModelPicker
  • Default shortcut: Ctrl+Shift+M

Steps to reproduce

  1. Open Codex Desktop on macOS.
  2. Make sure the current conversation is idle/resumed, not actively generating a response.
  3. Set the macOS input source to Korean 2-Set.
  4. Press Ctrl+Shift+M.
  5. Observe that the model picker does not open.
  6. Switch the macOS input source to English/ABC.
  7. Press Ctrl+Shift+M again.
  8. Observe that the model picker opens correctly.

Expected behavior

The model picker shortcut should work regardless of the active macOS input source.

Ideally, the shortcut should match the physical key code, e.g. KeyM, or otherwise normalize keyboard layout / IME input before matching the command shortcut.

Actual behavior

With Korean 2-Set active, Ctrl+Shift+M does not trigger the model picker. With English/ABC active, the same shortcut works.

Notes

This does not appear to be a model configuration or backend issue. The model picker works correctly when triggered under the English input source.

The likely cause is that the shortcut handler is matching the produced character (M) rather than the physical key or a normalized accelerator. Under the Korean IME, pressing the physical M key may produce a Korean character input event instead of the literal M, so the shortcut does not match.

Environment

  • Codex Desktop version from About dialog: 26.506.31421 (2620)
  • Bundled CLI/runtime observed locally: codex-cli 0.130.0-alpha.5
  • Platform: Darwin 25.4.0 arm64 arm
  • macOS input source where shortcut fails: Korean 2-Set
  • macOS input source where shortcut works: English/ABC

What steps can reproduce the bug?

  1. Open Codex Desktop on macOS.
  2. Start or open any Codex conversation.
  3. Wait until the conversation is idle/resumed, not actively generating a response.
  4. Set the macOS input source to Korean 2-Set.
  5. Press Ctrl+Shift+M, the default shortcut for opening the model picker.
  6. Observe that the model picker does not open.
  7. Switch the macOS input source to English/ABC.
  8. Press Ctrl+Shift+M again.
  9. Observe that the model picker opens correctly.

No specific prompt, session id, token limit usage, or context window usage appears to be required to reproduce this issue. It seems independent of the current conversation content and instead depends on the active macOS input source / IME state.

Minimal reproduction condition:

  • Platform: macOS
  • App: Codex Desktop
  • Input source where it fails: Korean 2-Set
  • Input source where it works: English/ABC
  • Shortcut: Ctrl+Shift+M
  • Command: composer.openModelPicker

I do not have a standalone code snippet for the Codex app itself, but the likely equivalent failure mode is a shortcut handler that checks the produced key value instead of the physical key code:

window.addEventListener("keydown", (event) => {
  // This can fail under non-English input sources / IMEs,
  // because event.key may not be "M" even when the physical M key is pressed.
  if (event.ctrlKey && event.shiftKey && event.key.toLowerCase() === "m") {
    openModelPicker();
  }
});

What is the expected behavior?

The model picker shortcut should open the model picker regardless of the active macOS input source.

When the user presses the configured shortcut, for example Ctrl+Shift+M, Codex should trigger composer.openModelPicker whether the current input source is English/ABC, Korean 2-Set, or another IME/layout.

Shortcut matching should preferably use the physical key code, e.g. KeyM, or normalize keyboard layout/IME output before matching the command accelerator.

Additional information

This appears to be input-source dependent.

Observed behavior:

  • Korean 2-Set input source: Ctrl+Shift+M does not open the model picker.
  • English/ABC input source: the same Ctrl+Shift+M shortcut opens the model picker correctly.

This suggests the shortcut handler may be matching the produced character (M) instead of the physical key. With Korean IME active, the physical M key can produce Korean input rather than the literal M, so the shortcut does not match.

This is especially noticeable because users often leave the system input source in Korean while using Codex, then global/app shortcuts silently stop working.

The About dialog shows Codex App version 26.506.31421 (2620), while the bundled CLI/runtime reports codex-cli 0.130.0-alpha.5. Including both in case the desktop shell and runtime versions are tracked separately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions