[BUG] Ghost characters from status area appear in scrollable content

Resolved 💬 7 comments Opened Jan 11, 2026 by PabloLION Closed Feb 28, 2026

Bug Description

Ghost characters from the status/hint area (bottom-right of screen) appear as artifacts in the scrollable conversation content. These characters persist and scroll with the content.

Environment

  • Platform: macOS (Darwin 25.0.0)
  • Claude Code Version: 2.1.4
  • Terminals tested:
  • Terminal.app (macOS native) - issue appears
  • WezTerm + Zellij - issue appears
  • Conclusion: Not terminal-specific, appears to be Claude Code TUI issue

Root Cause Analysis

The status area text is not being properly cleared when updated. Characters get "baked into" the scrollable buffer:

  • Lowercase c = first character of "current: 2.1.4" (version hint)
  • Capital C = first character of "Checking" (update check status)
  • Other characters may appear depending on status text at time of bug

Mechanism:

  1. Status area displays text (e.g., "current: 2.1.4" or "Checking...")
  2. Status updates or screen scrolls
  3. First character(s) not properly erased from buffer
  4. Ghost character now part of scrolled content
  5. Character persists until scrolled off screen

Steps to Reproduce

  1. Launch Claude Code
  2. Have a conversation that causes the screen to scroll
  3. Observe the right side of screen at empty lines
  4. Ghost characters (typically c or C) appear at the same column as the status text

Expected Behavior

The status area should be rendered as an overlay or properly cleared when the screen scrolls. No artifacts should remain in the scrollable content.

Actual Behavior

Characters from status text appear on empty lines in the conversation area, at the same column position as the status/version text. These characters scroll with the content.

Evidence

  • Characters always appear at same column as status text (right side)
  • Multiple c characters visible at different vertical positions (see screenshots)
  • Characters only appear on empty lines (never overwrite existing content)
  • Resizing window triggers full redraw and temporarily fixes issue

Screenshots

!ghost-char-single-c
!ghost-char-multiple-c

(Screenshots show lowercase c appearing at the same column as "current: 2.1.4" version text)

Workarounds

  • Resize window (triggers full redraw)
  • Ignore (cosmetic only, doesn't affect functionality)

Related Issues

  • #10375 - Focus reporting escape sequences (similar TUI rendering category)
  • #1509 - Random characters in input area (different root cause)

View original on GitHub ↗

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