Summary
When Codex CLI renders Korean text in the TUI, Hangul syllables appear visually separated by blank cells and long lines wrap incorrectly. The result looks like each Korean character is spaced out and the paragraph flow becomes hard to read.
Environment
- Codex CLI: 0.114.0
- oh-my-codex: 0.10.0
- Node.js: 24.14.0
- OS: macOS (darwin arm64)
- TERM: xterm-256color
- LANG: ko_KR.UTF-8
- LC_ALL: C.UTF-8
- Terminal where this was observed: Kiro embedded terminal (
kiro-cli-term)
Steps to reproduce
- Launch
codex in a terminal session with Korean locale settings.
- Use the TUI normally and let the assistant emit Korean text in the conversation/history area.
- Observe the rendered output for Korean paragraphs.
Expected behavior
Korean text should render contiguously, without visual gaps between syllables, and line wrapping should stay aligned.
Actual behavior
- Korean syllables appear with an extra blank cell between characters.
- Wrapped lines break in visually awkward positions.
- Paragraphs become difficult to read because the layout no longer matches the underlying text.
Notes
I initially suspected the recent Node 24 LTS switch, but that seems unlikely to be the direct cause. The npm package is a Node launcher that spawns a platform-specific native binary (bin/codex.js -> @openai/codex-darwin-arm64), so the rendering path is inside the native TUI rather than Node itself.
From the upstream source, the TUI stack uses ratatui, crossterm, and unicode-width for rendering and width calculation in codex-rs/tui. That makes this look more like a terminal/CJK width handling issue in the TUI rendering path (possibly terminal-specific) than a Node runtime regression.
If helpful, I can provide a screenshot of the broken rendering.
Summary
When Codex CLI renders Korean text in the TUI, Hangul syllables appear visually separated by blank cells and long lines wrap incorrectly. The result looks like each Korean character is spaced out and the paragraph flow becomes hard to read.
Environment
kiro-cli-term)Steps to reproduce
codexin a terminal session with Korean locale settings.Expected behavior
Korean text should render contiguously, without visual gaps between syllables, and line wrapping should stay aligned.
Actual behavior
Notes
I initially suspected the recent Node 24 LTS switch, but that seems unlikely to be the direct cause. The npm package is a Node launcher that spawns a platform-specific native binary (
bin/codex.js->@openai/codex-darwin-arm64), so the rendering path is inside the native TUI rather than Node itself.From the upstream source, the TUI stack uses
ratatui,crossterm, andunicode-widthfor rendering and width calculation incodex-rs/tui. That makes this look more like a terminal/CJK width handling issue in the TUI rendering path (possibly terminal-specific) than a Node runtime regression.If helpful, I can provide a screenshot of the broken rendering.