Codex Desktop: ESC from CJK IME composition passes through and interrupts the model
What version of the Codex App are you using?
Codex Desktop 26.429.30905 (2345)
What subscription do you have?
N/A
What platform is your computer?
macOS 26.4.1 (Build 25E253), arm64
What issue are you seeing?
When using a CJK input method in the Codex Desktop composer, pressing Esc to cancel or close an active IME composition is also handled by Codex Desktop as the app-level Esc action. This can accidentally interrupt an in-progress model response.
This is a problem for Chinese, Japanese, and Korean input flows because Esc is commonly used inside the IME composition lifecycle. While the IME is composing text, Codex Desktop should treat that Esc as consumed by the composition session instead of forwarding it to the model interrupt handler.
What steps can reproduce the bug?
- Open Codex Desktop on macOS.
- Start or keep a Codex model response running so that
Escwould normally interrupt it. - Focus the composer input.
- Switch to a CJK input method.
- Start composing text through the IME.
- Press
Escto cancel or close the current IME composition.
What is the expected behavior?
When an IME composition is active, Esc should be handled as an IME composition key only. It should not trigger Codex Desktop's app-level interrupt/stop behavior.
What is the actual behavior?
The Esc key appears to pass through from the active CJK IME composition to Codex Desktop, and Codex Desktop treats it as an interrupt/stop command for the model response.
Additional information
This looks like keyboard event handling should check composition state before treating Esc as a global shortcut. For web/Electron text inputs, the relevant guard is usually whether the input is currently composing, for example via composition events or KeyboardEvent.isComposing, before running the app-level escape handler.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗