[BUG] CJK (Korean) wide glyphs render as blank cells after scroll indicator overlay passes over them in fullscreen TUI
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
In Claude Code's fullscreen TUI, individual CJK (Korean) wide-glyph
characters render as blank/grey cells almost every time I scroll. The
trigger appears to be the transient scroll-position indicator overlay
sliding across previously-painted text — once the overlay moves away,
the cells it crossed are not fully repainted and the underlying wide
glyph disappears.
Only CJK/wide glyphs are affected; ASCII characters on the same rows
render correctly. Drag-selecting over the blank cells with the mouse
forces a repaint and makes the glyphs visible again, but scrolling
once more returns them to the blank state.
Tested only on Ghostty so far — I haven't verified whether the sa
issue reproduces on iTerm2 / Terminal.app / WezTerm, soit may be
a Ghostty-specific rendering interaction rather than a Claude Code
bug. Filing here in case the TUI's redraw/invalidation logic is the
side that needs to account for it.
What Should Happen?
After the scroll-position indicator overlay is cleared, the cell region
it covered should be fully repainted so the underlying CJK characters
remain visible. No manual drag-select should be needed to restore them.
Error Messages/Logs
No errors or crash logs — this is a pure rendering / cell-invalidation
issue. Nothing is emitted to stderr or ~/.claude logs when it happens.
Steps to Reproduce
- Open Claude Code in Ghostty, large enough to enter fullscreen TUI mode.
- Generate a long Korean (or any CJK) response — enough text that the
viewport needs to scroll.
- Use the app normally (scroll, interact). Within a short time, some
CJK characters will appear as empty/grey cells.
- Drag-select across a blank cell with the mouse — the glyph
reappears, confirming it's a repaint issue rather than lost data.
- Continue using the app → the same or nearby cells blank out again.
NOTE: I can't give a 100% deterministic repro recipe. My best guess is
that scrolling (and the scroll-position indicator overlay sliding over
text) is involved, but I have not verified this. The symptom is
reproducible near 100% of the time during normal fullscreen TU
the exact trigger is not confirmed.
<img width="638" height="388" alt="Image" src="https://github.com/user-attachments/assets/46909dc0-5a0f-473b-9b13-98612e96b612" />
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.118
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Environment:
- OS: macOS (
- Terminal: Ghostty 1.3.0 ← only tested here
- Shell: zsh
- Claude Code: v2.1.118
- Node: v20.19.4
- Locale: ko_KR.UTF-8
- Font: <fills Lilex/ NotoSans KR fallback>
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗