Custom statusline colors washed out in truecolor terminals since 2.1.78

Resolved 💬 5 comments Opened Mar 18, 2026 by mitraz-ee Closed May 16, 2026

Description

Custom statusline RGB colors render washed out / desaturated since upgrading to 2.1.78. The statusline uses 24-bit ANSI escape codes (\033[38;2;R;G;Bm) which rendered correctly in 2.1.77 and earlier.

Environment

  • Terminal: Ghostty (truecolor-capable)
  • Multiplexer: tmux with set -as terminal-features ",xterm-ghostty:RGB"
  • COLORTERM: truecolor
  • TERM: tmux-256color
  • tmux termfeatures: bpaste,ccolour,clipboard,cstyle,focus,RGB,title
  • OS: macOS (Darwin 25.3.0, arm64)
  • Claude Code: 2.1.78

Before (2.1.77) vs After (2.1.78)

Before — colors are vibrant and match the specified RGB values:

  • Green (git branch): deep catppuccin green
  • Blue (folder): rich blue
  • Gray (model/time): neutral gray
  • Progress bar: clearly visible braille characters

After — all colors are lightened and desaturated:

  • Green shifts toward yellow-green, loses depth
  • Blue becomes baby blue / washed out
  • Gray picks up a blue/clay tinge
  • Progress bar braille characters nearly invisible

Suspected cause

The 2.1.78 changelog includes:

Fixed washed-out Claude orange color in VS Code/Cursor/code-server terminals that don't advertise truecolor support

This fix appears to be applying a color transformation globally — including to terminals that DO advertise truecolor support. The TUI renderer may be downgrading or remapping 24-bit colors even when COLORTERM=truecolor and tmux RGB feature are present.

The 2.1.77 change "Fixed background colors rendering as terminal-default inside tmux with default configuration" may also be related.

Statusline config

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

The script outputs standard 24-bit ANSI color escapes, e.g.:

printf '\033[38;2;137;180;250m folder_name\033[0m'
printf '\033[38;2;166;227;161m branch\033[0m'

Expected behavior

24-bit ANSI RGB color codes in custom statusline output should render at full fidelity when the terminal advertises truecolor support (COLORTERM=truecolor, tmux RGB feature).

Workaround

None that preserves correct colors. Adjusting RGB values in the script to compensate for the transformation is trial-and-error and doesn't fully restore the original appearance.

View original on GitHub ↗

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