[BUG] Theme color scheme picker (solarized, nord, etc.) has no effect on terminal TUI — only applies to code block syntax highlighting

Open 💬 1 comment Opened Jun 24, 2026 by mominhaq2004

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.jsontheme 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

  1. Open Claude Code desktop app
  2. Settings → Theme → select "Solarized Dark" for dark mode
  3. Observe: no change to terminal/TUI output
  4. Confirm the picker did something: paste a code block in chat — solarized syntax highlighting appears there, confirming the localStorage write worked
  5. 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 theme from ~/.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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗