-
Notifications
You must be signed in to change notification settings - Fork 87
Terminal color inversion in dark mode — does not occur when running claude directly #91
Description
Bug Description
When running claude directly (no wrapper), the Claude Code TUI renders correctly in Terminal, Ghosty and CMUX. When running claudish, the same Claude Code TUI renders with inverted/unreadable colours — dark text on dark background, selection highlight is the only readable element.
This suggests claudish is passing terminal flags or environment variables that trigger the color bug in Claude Code's TUI, whereas direct claude invocation does not.
Environment
- macOS (latest)
- Claude Code: 2.1.12 (also present in 2.1.86, downgraded to test)
- Terminal: Terminal, Cmux and Ghosty
- Shell: zsh
- Claudish: 6.4.5
Steps to Reproduce
- Open terminal
- Run
claudedirectly → TUI renders correctly ✓ - Run
claudish→ TUI renders with inverted colours ✗ - Same terminals, same session — only differs by whether claude is invoked directly or via claudish
Workarounds Attempted
| Workaround | Result |
|---|---|
TERM=dumb claudish |
Does NOT fix |
NO_COLOR=1 via claudish |
Does NOT fix |
FORCE_COLOR=0 via claudish |
Does NOT fix |
| Downgrading Claude Code to 2.1.12 | Issue still present |
| Multiple terminals (iTerm2, Ghostty, Terminal.app) | Same issue in all via claudish |
Key Observation
Running claude directly works perfectly. The inversion ONLY happens when invoking via claudish. This is reproducible every time — not intermittent.
Screenshots
[screenshot attached — iTerm2 dark mode via claudish: black text on near-black background]
Possible Cause
Claudish may be setting or overriding terminal capability detection (TERM, TERM_PROGRAM, COLORTERM, etc.) in a way that causes Claude Code's TUI color renderer to behave incorrectly. The TERM=dumb workaround does not fix it, suggesting the issue may be in how claudish initializes the Claude Code subprocess rather than in Claude Code's terminal capability detection itself.