[FEATURE] Always-visible active provider/account indicator in Claude Code CLI and VS Code Extension, with per-provider color theming
Preflight Checklist
- [x] I have searched existing requests and this specific combination of features hasn't been requested yet
- [x] This is a single feature request (not multiple unrelated features)
---
Problem Statement
When working across multiple projects simultaneously, each project may use a different provider (Anthropic API, Amazon Bedrock, Google Vertex AI, etc.) or a different account/organization within the same provider. There is currently no persistent, at-a-glance indicator showing which provider and account Claude Code is actively using for the current session.
This creates a real operational risk in professional and enterprise environments:
- A developer switches between project directories and unintentionally continues a session under the wrong provider.
- API calls are billed to the wrong account, violating cost-center boundaries or cloud budget policies.
- In regulated industries (finance, healthcare, etc.), running a task against an unintended provider endpoint can constitute a data governance or compliance violation.
- The error is often not noticed until the billing report or a security audit — at which point it may already be an incident requiring escalation.
This is not a hypothetical concern. In multi-project workflows, switching context quickly is routine. A passive safety net — always-visible provider state — would eliminate this entire class of mistakes.
Relationship to existing status-line issues: Issues #55643, #33819, and #20207 request general statusLine parity between CLI and VS Code. This request is narrower and complementary: it asks specifically for a persistent, non-configurable provider/account display as a safety and governance feature, not a general-purpose customizable status line.
---
Proposed Solution
1. CLI (Terminal) — Persistent provider indicator in the status line
Display the active provider name and account/profile identifier permanently in the existing Claude Code status line (bottom bar), alongside the current context window usage.
Proposed format:
[Bedrock / us-east-1 · prod-account] 43% ctx · ↑1.2k ↓340 tokens
- The provider segment should be non-dismissible — it must remain visible even when the user has not configured a custom
statusLinecommand. - If the user has a custom
statusLine, the provider info should be prepended automatically and unconditionally.
2. VS Code Extension — Status bar item
Add a dedicated VS Code status bar item (bottom bar) that permanently displays the active provider and account name for the current Claude Code session.
- Clicking the item opens the provider/account configuration, similar to how the Git branch indicator opens the branch picker.
- The item should be session-scoped: if multiple VS Code windows run separate Claude Code sessions with different providers, each window's status bar should reflect its own session's provider independently.
3. VS Code Extension — Per-provider accent color (optional but high-value)
Allow users to assign a distinct accent color (status bar color, or panel header color) to each provider configuration. This mirrors the existing VS Code Workspace Color Customization pattern:
// .vscode/settings.json (project-level)
"claudeCode.providerColors": {
"bedrock/prod-account": "#C0392B", // red → production
"bedrock/dev-account": "#27AE60", // green → development
"anthropic": "#8E44AD" // purple → direct API
}
With this in place, developers instantly see — without reading any text — whether they are in a production or development context. This is especially valuable when switching between split-pane terminal sessions or multiple VS Code windows.
---
Why This Matters (Priority Justification)
| Risk without this feature | Likelihood | Impact |
|---|---|---|
| Incorrect API billing to wrong account | High | Medium–High |
| Compliance/data governance violation | Medium | High |
| Wasted debugging time on wrong-provider responses | High | Low–Medium |
The fix is entirely additive (read-only display), has zero impact on existing functionality, and requires no changes to core execution logic — only the UI layer. The implementation surface is small relative to the value delivered.
---
Alternative Solutions Considered
- Custom
statusLinecommand (existing): Requires per-user scripting and is not enforced. Does not solve the "provider is silently wrong" risk because it depends on the user having set it up correctly. /statusor/configcommand: Requires active user action. Does not provide passive ambient awareness.- Shell prompt customization: Outside Claude Code's control; not portable across team members.
---
Priority
High — This is a safety and governance feature for professional/enterprise multi-project workflows.
Feature Category
UI / Developer Experience / Enterprise Safety
Use Case Example
A backend engineer has three terminal tabs open:
- Tab A:
~/projects/client-alpha→ Bedrock,prodaccount - Tab B:
~/projects/client-beta→ Vertex AI,stagingaccount - Tab C:
~/projects/internal-tool→ Anthropic API direct
Without a persistent indicator, switching tabs and typing a prompt takes under two seconds — less time than consciously checking which provider is active. With per-provider color coding, the risk of misfiring against production is reduced to near zero.
Additional Context
- Claude Code version: latest (verified with
claude --version) - Platforms affected: macOS, Linux, Windows (CLI); VS Code Extension (all platforms)
- Related issues: #55643 (statusLine VS Code parity), #33819 (token usage in status bar), #20207 (custom statusLine in VS Code)