Custom statusline colors washed out in truecolor terminals since 2.1.78
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.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗