[FEATURE] Full Customizable Status Bar

Status Closed — not planned
Maintainer reply None cached
Activity 6 comments · opened Oct 3, 2025 · closed Feb 6, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

When using specialized agents (launched via the Task tool), users cannot tell when Claude Code is operating in agent mode versus regular mode. This creates significant UX issues:

Core Problems:

  1. Invisible Mode Transitions - Agents launch and complete silently with no visual indicator, leaving users confused about which system is responding
  2. Lost Context Awareness - Users don't know if they're getting specialized agent capabilities or regular responses, leading to incorrect assumptions about answer quality and scope
  3. Workflow Disruption - Tasks may be handled incorrectly when users assume an agent is still active but it has already completed and returned to regular mode
  4. Manual Verification Required - Users must frequently ask "what mode am I in?" or infer from conversation context, breaking flow
  5. No Session Context - Beyond basic directory and token warnings, users lack visibility into critical session state: active model, token usage progress, costs, active modes, etc.

Current State:

  • Agent launches with no persistent UI feedback
  • Agent completion happens silently
  • No visual difference between agent vs regular responses
  • Status line shows only: directory, token warning (>200K), session cost

Impact:

  • Reduced trust in agent system
  • Decreased productivity from context-switching confusion
  • Missed opportunities to leverage specialized agents effectively
  • Poor user experience compared to modern IDE status bars

Proposed Solution

Proposed Solution

Add a customizable status bar system with persistent agent mode indicator as the primary feature.

Core Features:

  1. Agent Mode Indicator (Primary)
  • Persistent visual indicator showing when agent mode is active
  • Display format: 🤖 Agent: {agent-name} in status bar
  • Nested agent support: 🤖 parent → child → grandchild
  • Color-coded by agent type (using existing subagent color system)
  • Mode transition notifications with configurable verbosity
  1. Expanded Status Bar Widgets

Beyond agent mode, create a modular widget system for comprehensive session context:

| Widget | Purpose | Example Display |
|-----------------|-----------------------|--------------------------|
| 🤖 Agent Mode | Show active agent | 🤖 code-reviewer |
| 🧠 Model | Current Claude model | sonnet-4.5 |
| 📊 Token Usage | Visual progress bar | [████░░] 75% (150K/200K) |
| 💰 Cost | Session cost tracking | $0.0234 |
| ⏱ Duration | Session time | 1h 23m |
| 💭 Active Modes | Special modes | 💭 Thinking |
| 🔒 Permissions | Tool restrictions | 🔒 Restricted |
| ⎇ Git | Branch/status | ⎇ main ↑3 |

  1. User Customization

# Configure via slash commands
/statusbar preset minimal # Show only essentials
/statusbar preset verbose # Show everything
/statusbar add token-usage # Add specific widget
/statusbar remove cost # Remove widget

# Or configure in settings.json
{
"statusBar": {
"widgets": ["agent-mode", "model", "token-usage", "cost"],
"format": "compact",
"notifications": {
"verbosity": "normal" # quiet | normal | verbose
}
}
}

  1. Example Status Bar Outputs

# Minimal preset
/project │ 🤖 general-purpose │ 45%

# Default preset
/project │ 🤖 Agent: code-reviewer │ 90K/200K tokens │ $0.02

# Verbose preset
~/dev/project (⎇ main) │ 🤖 Agent: general-purpose (2m 34s) │ sonnet-4.5 │ [████████░░] 80% │ ⏱ 1h 23m │ 💰 $0.0234 │ 💭 Thinking

  1. Mode Transition Notifications

🤖 Launching agent: general-purpose
⚙️ Agent mode active: general-purpose

[agent performs work]

✅ Agent general-purpose completed (2m 34s)
🔄 Returning to regular mode

Implementation Phases:

Phase 1 (MVP): Agent mode indicator + basic notificationsPhase 2: Full widget system + presetsPhase 3: Custom widgets via hooksPhase 4: API for programmatic access

Benefits:

  • ✅ Solves core problem: always know which mode is active
  • ✅ Extends to comprehensive session awareness (tokens, cost, model, etc.)
  • ✅ User-configurable for different workflows
  • ✅ Follows existing patterns (hooks, status line, subagent colors)
  • ✅ Non-breaking: defaults preserve current behavior

FEATURE_PROPOSAL_CUSTOMIZABLE_STATUS_BAR.md

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

6 Comments

github-actions[bot] · 10 months ago

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

JasonPries · 10 months ago

+1 on this feature request!

I'd like to add a few specific use cases that would be addressed by this:

  1. Hide built-in mode indicators - When using a custom statusLine script, I'd like the option to hide the built-in "accept edits on" and "plan mode" text so I can replace them with my own styled indicators.
  1. "Default mode" indicator - When cycling through modes with Shift+Tab (Normal → Plan → Accept Edits → Normal), there's no visual indicator for "normal/default" mode. It would be helpful to show something like [default] in green to make it clear which mode is active.
  1. Expose permission mode to statusLine JSON - The current statusLine JSON input doesn't include the permission mode state (normal/plan/accept-edits). Exposing this would allow custom status line scripts to display mode information.
scttbnsn · 9 months ago

+1 — This is the most comprehensive request covering all statusline customization needs.

I created #16494 as a focused subset request, but closed it as duplicate since this issue and #6227 already cover it. Related issues for the permissions mode specifically:

  • #6227 - Expose activePermissionMode in JSON payload
  • #10406 - Option to hide built-in mode indicator

My use case: Custom statusline showing context %, git branch, session cost, model — want to consolidate permissions indicator into it:

✨ ███░░░░░░░  ·  >> repo/main  ·  +208/-19  ·  💰 $2.69  ·  Opus 4.5
github-actions[bot] · 8 months ago

This issue has been automatically closed due to 60 days of inactivity. If you're still experiencing this issue, please open a new issue with updated information.

marcindulak · 8 months ago

This issue was closed incorrectly despite recent human comments. This behavior of the bot is reported at https://github.com/anthropics/claude-code/issues/16497. Please upvote that issue, so maybe it gets noticed.

github-actions[bot] · 8 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.