[BUG] Background-task indicator (N shell chip) invisible when theme background token matches terminal background

Open 💬 0 comments Opened Jun 30, 2026 by cameronsjo

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

  1. Use a theme whose background token equals your terminal's real background color.
  2. Start a long-running background shell task so the bottom bar shows the chip (e.g. 1 shell).
  3. Observe the chip at rest: invisible (painted in the background color).
  4. Mouse-hover or keyboard-select the chip → it appears as an inverse highlight.
  5. Temporarily change the theme's background token 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.

View original on GitHub ↗