Bug
In termic's light theme, body text from Claude Code's own plan-mode / question UI (e.g. "Ask user a question" panels) renders in white/near-white, nearly invisible against the light terminal background. The panel title (highlighted) and the numbered options' bold/gray text stay legible; only the plain description paragraph is affected.
Screenshots
Claude response - barely visible
Highlighted response reveals the white text (Which repo...)
Root cause
This text isn't drawn by termic - it's Claude Code's own Ink UI, streamed into the PTY. Claude Code (like other modern CLIs) styles some text with 24-bit truecolor ANSI (\x1b[38;2;r;g;bm), which xterm.js paints as literal RGB. termic's TERMINAL_THEMES.light palette (src/store/prefs.ts) only remaps the 16 indexed ANSI colors, so truecolor sequences bypass it entirely.
termic sets COLORFGBG on PTY spawn as a light/dark hint, but Claude Code doesn't honor that convention - it keeps its own theme in ~/.claude, switched via its /theme command. There's already a one-time tooltip about this in the theme picker (src/components/UnifiedBar.tsx:557), but it's easy to miss and nothing re-surfaces it when a mismatch is actually happening.
Repro
- Set termic to light theme.
- Have Claude Code trigger a plan-mode/question prompt (e.g. AskUserQuestion) whose CLI-internal theme is still dark.
- Body paragraph text is unreadable (white on cream).
Possible directions
Not sure, actually. We don't control Claude's own theme. I will investigate - ideas welcome.
Bug
In termic's light theme, body text from Claude Code's own plan-mode / question UI (e.g. "Ask user a question" panels) renders in white/near-white, nearly invisible against the light terminal background. The panel title (highlighted) and the numbered options' bold/gray text stay legible; only the plain description paragraph is affected.
Screenshots
Claude response - barely visible
Highlighted response reveals the white text (
Which repo...)Root cause
This text isn't drawn by termic - it's Claude Code's own Ink UI, streamed into the PTY. Claude Code (like other modern CLIs) styles some text with 24-bit truecolor ANSI (
\x1b[38;2;r;g;bm), which xterm.js paints as literal RGB. termic'sTERMINAL_THEMES.lightpalette (src/store/prefs.ts) only remaps the 16 indexed ANSI colors, so truecolor sequences bypass it entirely.termic sets
COLORFGBGon PTY spawn as a light/dark hint, but Claude Code doesn't honor that convention - it keeps its own theme in~/.claude, switched via its/themecommand. There's already a one-time tooltip about this in the theme picker (src/components/UnifiedBar.tsx:557), but it's easy to miss and nothing re-surfaces it when a mismatch is actually happening.Repro
Possible directions
Not sure, actually. We don't control Claude's own theme. I will investigate - ideas welcome.