Fullscreen TUI renderer degrades over SSH with TERM=xterm in 2.1.148

Resolved 💬 4 comments Opened May 22, 2026 by berniecz Closed Jun 23, 2026

Summary

Fullscreen renderer degrades to broken state on SSH session with TERM=xterm
in 2.1.148. /tui default workaround partially fixes it — popup placement
and scrollback recover, but the ASCII glyph fallback persists. Version
2.1.143 (installed side-by-side) renders fullscreen correctly in the same
environment.

Environment

  • Claude Code: 2.1.148 (broken), 2.1.143 (works)
  • Platform: Linux, kernel 6.8.0-117-generic
  • Session: SSH (xterm client → Linux box)
  • Env: TERM=xterm, COLORTERM= (empty), TERM_PROGRAM= (empty), LANG=en_US.UTF-8
  • TTY: /dev/pts/0
  • tput colors: 8

Symptoms in /tui fullscreen on 2.1.148

  1. Box-drawing characters fall back to ASCII (e.g. -, +, |) instead

of Unicode (, , )

  1. Slash-command autocomplete renders as plain text above the input

prompt instead of as an inline popup at the cursor

  1. Reduced color palette — looks like an 8-color terminal even though

the SSH client renders 256/truecolor for other TUIs (vim, htop, etc.)

  1. Mouse scroll wheel is captured by CC, but there is no virtual

scrollback — scrolling reveals pre-CC terminal history, i.e. the
alternate screen buffer is not actually engaged despite fullscreen mode

Workaround (/tui default on 2.1.148)

  • ✓ Slash-command autocomplete popup returns to its proper position

at the input

  • ✓ Native terminal scrollback works — can scroll back through CC output
  • ASCII glyph fallback persists — box-drawing characters still

rendered as ASCII instead of Unicode in default mode too, suggesting
the glyph-fallback subsystem is independent of alt-screen mode and
degrades the same way in both

  • 2.1.143 in fullscreen mode renders all of the above correctly in the

same SSH session — so this is a regression, not a TERM=xterm capability
limitation

Likely cause

Capability-detection changes in 2.1.144 ("Reduced terminal rendering glitches
in VS Code by reducing spinner animation color count", self-heal frames,
window-resize handling) appear to over-detect "minimal terminal" when
TERM=xterm and put both the fullscreen renderer (alt-screen + popup
placement) and the glyph-selection logic into a degraded state.

The glyph degradation persisting across /tui modes suggests it's a
separate decision branch from the alt-screen renderer — both got
"tightened" in the same release window.

Bisect window: regression introduced somewhere between 2.1.143 (last known
good) and 2.1.148 (currently broken). 2.1.146 was not published; 2.1.144,
2.1.145, 2.1.147 are candidates.

Setting TERM=xterm-256color was not yet tested as a bypass.

View original on GitHub ↗

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