[BUG] Background-task indicator (N shell chip) invisible when theme background token matches terminal background
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The bottom-bar background-task indicator — the chip that shows N shell / N monitor / N agent (next to the ← for agents hint) — is invisible at rest on any theme whose background color token equals the terminal's actual background color.
With a background shell task running, the chip (e.g. 1 shell) is painted in the same color as the pane background, so the slot looks empty. It only becomes visible when the chip is selected or mouse-hovered (it flips to an inverse-highlighted chip).
Found with a custom theme whose background token was deliberately matched to the terminal background for visual seamlessness — exactly the configuration that makes the chip disappear.
What Should Happen?
At rest (unselected), the chip should be legible in a muted/secondary tone — the way it appears on built-in themes whose background token differs from the terminal background. Visibility should not depend on whether the theme's background token coincides with the terminal background.
Error Messages/Logs
N/A — visual rendering bug, no error output.
Steps to Reproduce
- Use a theme whose
backgroundtoken equals your terminal's real background color. - Start a long-running background shell task so the bottom bar shows the chip (e.g.
1 shell). - Observe the chip at rest: invisible (painted in the background color).
- Mouse-hover or keyboard-select the chip → it appears as an inverse highlight.
- Temporarily change the theme's
backgroundtoken slightly → the chip becomes visible.
Root cause (inspecting the 2.1.196 build): the render site draws unselected text with color:"background" and only toggles visibility via inverse when selected/hovered, so when the theme's background token matches the terminal background the at-rest text is camouflaged.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.196
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Suggested fix: render the unselected chip with a secondary/muted foreground token (e.g. a subtle/inactive secondary-text token) instead of color:"background", keeping the inverse highlight for selected/hovered. That decouples at-rest legibility from the background token.
Validated locally: patching the single color:"background" at this render site to a visible existing token made the chip legible at rest while preserving the selected/hover inverse highlight.