[macOS][Codex App 26.814.41407] Traditional Chinese Sucheng punctuation leaves orphaned IMKUIPanel windows

Open 💬 0 comments Opened Aug 19, 2026 by thepyramidchallenge

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

26.814.41407 (bundle 6720)

What subscription do you have?

ChatGPT Pro (US$200/month)

What platform is your computer?

Darwin 25.5.0 arm64 arm; macOS 26.5.2 (25F84)

What issue are you seeing?

After updating to Codex App 26.814.41407, macOS Traditional Chinese – Sucheng candidate and full-width punctuation panels can remain on screen after composition changes.

When this happens, the previous panel becomes an orphaned overlay above the Codex window and other apps. Repeating the trigger stacks multiple stale candidate/punctuation menus across the desktop.

Quitting Codex stops the problem. Restarting the affected macOS input-method processes clears the overlays temporarily, but the issue returns when Codex is running.

<img width="891" height="158" alt="Image" src="https://github.com/user-attachments/assets/30a98754-c5b7-413b-8d0a-5a9c90452317" />

<img width="250" height="324" alt="Image" src="https://github.com/user-attachments/assets/67a05744-3d98-4965-9ea1-9bad08208154" />

Relevant redacted macOS log messages:

TCIM_Extension ... Warning: -[NSWindow makeKeyWindow] called on <IMKUIPanel: ...> which returned NO from -[NSWindow canBecomeKeyWindow].
imklaunchagent ... Request for Endpoint Invalid (from pid_t: <Codex PID>)
TCIM_Extension ... invalidated because the client process (<Codex PID>) either cancelled the connection or exited

What steps can reproduce the bug?

  1. Launch Codex App and focus the message composer.
  2. Switch to Apple's Traditional Chinese – Sucheng input source.
  3. Enter a Chinese input sequence so the candidate bar is visible, but do not select or commit a candidate.
  4. Press a punctuation key such as comma to open the full-width punctuation menu.
  5. Continue typing or repeat the sequence.

Result: the old candidate or punctuation IMKUIPanel sometimes remains visible instead of being dismissed. Repeating the steps leaves multiple stale panels stacked on the desktop.

The issue was reproduced several times. It does not occur after quitting Codex.

What is the expected behavior?

The active candidate or full-width punctuation panel should be dismissed as soon as the composition state changes, the composer loses focus, or Codex is closed. No stale IMKUIPanel should remain above the desktop or other applications.

Additional information

Input source: Apple Traditional Chinese – Sucheng (com.apple.inputmethod.TCIM.Jianyi)
Full-width punctuation setting: usesHalfwidthPunctuation=false
First observed immediately after the Codex update on 2026-08-19.

Temporary workaround:

killall TCIM
killall TextInputMenuAgent
killall TextInputSwitcher
killall keyboardservicesd
killall imklaunchagent

Isolation test: with Codex fully quit, the same input sequence does not leave stale panels. Relaunching Codex makes the issue reproducible again.

I searched existing issues for IMKUIPanel and macOS Chinese input. I found general IME/focus/window-order issues, but not this stale full-width punctuation/candidate-panel stacking behavior.

View original on GitHub ↗