Custom theme overrides (diffAdded etc.) not applied to diff rendering in the TUI

Open 💬 0 comments Opened Jul 15, 2026 by pauliuszaleckas

Environment: Claude Code 2.1.210 (native build), Fedora Linux (6.18), running inside tmux (TERM=tmux-256color, COLORTERM=truecolor).

Symptom: A custom theme (~/.claude/themes/my-theme.json, base: "dark", overrides for diffAdded, diffAddedDimmed, diffRemoved, …) is listed and selectable in /theme, and settings.json shows "theme": "custom:my-theme" — but diffs rendered in the conversation (e.g. Edit tool diffs) keep the base dark theme's green/red backgrounds. Even a diagnostic "diffAdded": "#0000ff" never shows: added lines stay green.

Also tried:

  • Editing the theme via the built-in /theme interactive editor — values persist to the JSON file, but rendered diffs are unchanged.
  • Re-selecting the theme, switching themes back and forth, and a full app restart.
  • Both #rrggbb and rgb(r,g,b) value formats.

Expected: diff backgrounds use the overridden colors.

Motivation: with a dim terminal ANSI-green, syntax-highlighted comments (green foreground) on the default green diffAdded background are unreadable; darkening diffAdded via a custom theme was the intended remedy.

View original on GitHub ↗