[BUG] Theme color scheme picker (solarized, nord, etc.) has no effect on terminal TUI — only applies to code block syntax highlighting
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Selecting a color scheme from Settings → Theme (e.g. Solarized Dark, Nord, etc.) produces no visible change to the terminal/TUI output.
The picker writes to Electron localStorage under epitaxy-editor-prefs (codeThemeDark/codeThemeLight), which only drives code block syntax highlighting in the chat panel.
The contrast (daltonized) toggle DOES visibly change the terminal TUI because it writes to ~/.claude/settings.json → theme key, which the terminal renderer reads. The color scheme picker and the contrast toggle are wired to completely separate storage systems, but presented as a single "Theme" settings section.
What Should Happen?
Selecting "Solarized Dark" should apply that color palette to the terminal TUI output, not just to code blocks in chat. This is how the equivalent setting works in Codex.
Error Messages/Logs
Steps to Reproduce
- Open Claude Code desktop app
- Settings → Theme → select "Solarized Dark" for dark mode
- Observe: no change to terminal/TUI output
- Confirm the picker did something: paste a code block in chat — solarized syntax highlighting appears there, confirming the localStorage write worked
- Toggle the contrast (daltonized) switch — immediate app-wide terminal change
The picker applies only to code blocks (step 4). The terminal (step 5) only responds to the contrast toggle, not the color scheme.
Claude Model
_No response_
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
1.15200.0
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Traced through the app bundle (ion-dist/assets/v1/):
- Color scheme picker → setCodeThemeDark/setCodeThemeLight → Zustand store "epitaxy-editor-prefs" in Electron localStorage → code block rendering only
- Terminal TUI reads
themefrom ~/.claude/settings.json. Supported values: dark, light, dark-daltonized, light-daltonized, dark-ansi, light-ansi, auto. Writing "solarized-dark" to settings.json is silently ignored (falls back to dark). - The two controls share a "Theme" UI section but write to entirely separate storage systems. Contrast toggle (settings.json) reaches the TUI; color scheme (localStorage) does not.
Comparison: Codex applies the equivalent color scheme setting app-wide correctly.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗