[BUG] CJK (Korean) wide glyphs render as blank cells after scroll indicator overlay passes over them in fullscreen TUI

Resolved 💬 2 comments Opened Apr 23, 2026 by yourkase-chaehyun Closed May 8, 2026

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

  1. Open Claude Code in Ghostty, large enough to enter fullscreen TUI mode.
  2. Generate a long Korean (or any CJK) response — enough text that the

viewport needs to scroll.

  1. Use the app normally (scroll, interact). Within a short time, some

CJK characters will appear as empty/grey cells.

  1. Drag-select across a blank cell with the mouse — the glyph

reappears, confirming it's a repaint issue rather than lost data.

  1. 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>

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗