Diff backgrounds unreadable on dark terminals — ignores NO_COLOR

Resolved 💬 3 comments Opened Apr 9, 2026 by lemmebee Closed Apr 13, 2026

Problem

Claude Code's diff view uses hardcoded truecolor (24-bit) ANSI background colors (pastel pink for deletions, pastel green for additions) that are nearly unreadable on dark terminal themes.

The diff renderer ignores all standard color environment variables:

  • NO_COLOR=1
  • FORCE_COLOR=1
  • COLORTERM=""
  • TERM=xterm

None of these have any effect on the diff background colors — they appear to be hardcoded in the Ink/React renderer.

Environment

  • Claude Code v2.1.98
  • GNOME Terminal with Aura dark theme (background: #15141B)
  • Linux (Ubuntu)

Screenshots

Diff blocks with dark red/pink and green backgrounds — text is barely visible:

The deleted lines (pink bg) and added lines (green bg) have very low contrast against dark terminal backgrounds. The foreground text blends into the pastel backgrounds.

Expected behavior

Claude Code should either:

  1. Respect NO_COLOR per https://no-color.org/
  2. Detect terminal background color (OSC 11) and adapt
  3. Provide a theme/appearance setting
  4. Use ANSI palette colors instead of hardcoded truecolor, so terminal themes can control contrast

Attempted workarounds (all failed)

  • NO_COLOR=1 (in shell env and settings.json)
  • FORCE_COLOR=1 (settings.json)
  • COLORTERM="" (settings.json)
  • TERM=xterm (settings.json)
  • GNOME Terminal palette adjustments
  • bold-is-bright enabled

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗