CLI rendering: chat panel becomes unreadable / Unicode-mangled mid-session
What happened
During an active Claude Code session, the chat panel text rendered into garbled / unreadable characters (looks like a Unicode or terminal-redraw glitch). The session was still responsive — the model continued processing tool calls and responses — but every line in the chat panel was visually corrupted to the point of being unreadable. Scrolling did not recover. A screenshot is available; happy to attach via comment.
Environment
- Claude Code version: 2.1.143
- OS: macOS 26.1 (build 25B78), Darwin 25.1.0
- Terminal: VS Code integrated terminal (
TERM_PROGRAM=vscode) - Shell: zsh
- Model: Opus 4.7 (1M context)
Session characteristics when it broke
- Long-running session (several hours)
- Many tool calls of mixed types: Bash, Read, Write, Edit, MCP browser (Playwright), MCP Linear, MCP Supabase, MCP Railway
- Mixed-content rendering throughout — long curl bodies, base64/binary-ish output from git, image reads, JSON blobs
- Conversation included foreign characters (Bahasa Malaysia text in commit messages, em-dashes, Unicode arrows)
- Frequent ANSI-color output from CLI tools (railway logs, gh, vercel)
Steps to reproduce
Not deterministic. Triggers seem to involve a long session with heavy mixed-encoding output (binary blobs, ANSI escapes, multibyte strings) all flowing through the chat panel. Eventually the terminal renderer drops into the broken state.
Expected
Chat panel text continues to render normally even after long sessions / mixed-encoding content.
Actual
Chat panel becomes unreadable mid-session — see attached screenshot.
Workarounds attempted
To be confirmed by reporter:
- \
clear\and resize the terminal window (forces redraw) - Detach and reattach the session
- Switch terminals (VS Code integrated → Terminal.app / iTerm2)
Notes
- Same issue may correlate with the VS Code integrated terminal specifically (\
TERM_PROGRAM=vscode\); we haven't reproduced in a standalone terminal yet. - The model side is fine — only the rendering layer is affected.
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗