Terminal color inversion / unreadable output in dark mode (all terminals)
Bug Description
Claude Code TUI renders with inverted or unreadable colours in terminals running in dark mode. Colour values appear swapped or washed out — making the model picker and all TUI output unusable.
Environment
- macOS (latest)
- Claude Code: 2.1.12 (downgraded from 2.1.86, issue present in both)
- Terminals tested: iTerm2, Ghostty, Apple Terminal, tmux — same issue in all
- Shell: zsh
- Theme: dark mode
Steps to Reproduce
- Open any terminal in dark mode
- Run
claude(or any wrapper that invokes the TUI, e.g. claudish) - TUI renders with inverted/colourswap — dark text on dark background, selection highlight is the only readable element
Screenshots
iTerm2 dark mode — model picker (screenshot attached): Black text on near-black background. Only the selection highlight is readable.
Workarounds Attempted
| Workaround | Result |
|---|---|
| TERM=dumb claude | Does NOT fix |
| NO_COLOR=1 | Does NOT fix |
| FORCE_COLOR=0 | Does NOT fix |
| Downgrading to 2.1.12 | Issue still present |
| Multiple terminals (iTerm2, Ghostty, Terminal.app, tmux) | Same issue in all |
Related Issues
Matches symptoms of multiple open reports: #29706, #1341, #33676, #39566. This appears to be a long-standing regression in the TUI colour renderer affecting dark-mode terminals across macOS and Linux.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗