Fullscreen TUI renderer degrades over SSH with TERM=xterm in 2.1.148
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
- Box-drawing characters fall back to ASCII (e.g.
-,+,|) instead
of Unicode (─, ┼, │)
- Slash-command autocomplete renders as plain text above the input
prompt instead of as an inline popup at the cursor
- Reduced color palette — looks like an 8-color terminal even though
the SSH client renders 256/truecolor for other TUIs (vim, htop, etc.)
- 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" whenTERM=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.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗