TUI rendering corruption in tmux + Ghostty (regression since 2.1.200)
Description
Since upgrading past 2.1.199, running claude inside tmux + Ghostty produces garbled TUI rendering: large blocks of text go missing, and the screen appears to scroll and overwrite itself. Reproduces in both "tui": "default" and "tui": "fullscreen" renderer modes. Does not reproduce running claude directly in Ghostty outside tmux.
Environment
- macOS (Darwin 25.3.0)
- Terminal: Ghostty
- tmux 3.7a,
TERM=tmux-256color - Claude Code versions tested: broken on 2.1.200 through 2.1.210 (latest available at time of testing); last known-good is 2.1.199
Suspected cause
Changelog for 2.1.200 states: "Fixed rendering flicker under tmux 3.4+ by enabling synchronized terminal output." This is the only tmux-related rendering change between the known-good and known-bad versions, and is a strong suspect for the regression.
Repro / bisection
Installed side-by-side npm copies (didn't touch the primary install):
npm install @anthropic-ai/claude-code@2.1.199 --prefix ./v199
npm install @anthropic-ai/claude-code@2.1.210 --prefix ./v210
Run each inside a tmux session in Ghostty:
./v199/node_modules/.bin/claude→ renders correctly./v210/node_modules/.bin/claude→ garbled rendering (missing text, screen overwrite/scroll corruption)
What I tried that did NOT fix it
- Switching
/tui fullscreenvs/tui default— broken in both ~/.tmux.conf:set -as terminal-overrides ',*:Sync@'(strip the Sync terminfo capability tmux advertises to child processes)~/.tmux.conf:set -g focus-events onCLAUDE_CODE_FORCE_SYNC_OUTPUT=1(this only forces sync ON; there's no shipped env var to force it off, which would have been the useful test)
Current workaround
Pinned to 2.1.199 via npm install -g @anthropic-ai/claude-code@2.1.199 until this is fixed.