NO_COLOR not respected by spinner status text and permission-mode indicator

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 0 comments · opened Jul 30, 2026

Setting env.NO_COLOR=1 in settings.json (or in the process environment directly)
correctly disables ANSI color for most of the UI, but two elements remain hardcoded
to yellow (ANSI color 3) regardless:

  1. The spinner status word shown while a request is in flight (e.g. "Thinking...")
  2. The permission-mode indicator line ending in "(shift+tab to cycle)"

Repro:

  • claude-code version 2.1.220
  • TERM=xterm
  • ~/.claude/settings.json contains "env": {"NO_COLOR": "1"}
  • Confirmed NO_COLOR=1 is present in the actual running process environment
  • All other previously-yellow text (diffs, tool output, etc.) correctly stopped

being colored under this config

  • Only the two elements above remain yellow

Impact: on terminals with a light-yellow background/palette, this text is
unreadable, and there's currently no settings.json option to fix it (theme is a
fixed enum with no per-color override, and NO_COLOR reaches everything except
these two elements).

Expected: these two elements should honor NO_COLOR like the rest of the UI.

View original on GitHub ↗