[FEATURE] Add status bar to Desktop App

Status Open
Maintainer reply None cached
Activity 13 comments · opened Mar 31, 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

The Desktop App only shows the current model name in the bottom-right corner. Users have no visibility into context window usage or rate limit consumption (5h / 7d limits), which makes it hard to manage usage across sessions — especially on Pro/Max plan where limits reset on a rolling basis.

Proposed Solution

Honor the existing statusLine configuration in settings.json within the Desktop App. The CLI already supports this:

{
"statusLine": {
"type": "command",
"command": "bash ~/.claude/statusline-command.sh"
}
}

The Desktop App should render the command output as a persistent bar at the bottom of the window, identical to CLI behavior. No new API surface needed — just extend the existing setting to the Desktop App.

Alternative Solutions

Currently using the CLI version in a terminal window alongside the Desktop App to monitor status. This is a workaround, not a solution.

Priority

Medium - Would be very helpful

Feature Category

Configuration and settings

Use Case Example

  1. I'm on Claude Max plan and working across multiple long sessions.
  2. I want to know how much of my 5-hour rate limit I've used before starting a heavy task.
  3. With statusLine support in the Desktop App, my custom script would show ctx usage and limit reset times at a glance — just like in the terminal.

Additional Context

The CLI statusLine feature is already documented and working. This is purely a feature parity request for the Desktop App. The setting key statusLine exists in settings.json and is silently ignored by the Desktop App today.

View original on GitHub ↗

13 Comments

github-actions[bot] · 5 months ago

Found 1 possible duplicate issue:

  1. https://github.com/anthropics/claude-code/issues/33257

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

Astro-Han · 5 months ago

The existing CLI statusLine support already solves this problem surprisingly well.

I use claude-pace in the terminal specifically to keep context and quota awareness always visible, so the Desktop app falling back to a much thinner status display feels like a real capability gap rather than a separate UX choice.

If Desktop simply honored the same statusLine config, a lot of useful workflows would carry over immediately.

LMUoD · 5 months ago

This is not the same issue as #33257.

This issue is about adding support to the statusline to the desktop app, which would be a welcome addition to enable the use of many CLI plugins which rely on it. Would definitely be useful!

kuba-guzik · 5 months ago

+1 — Same applies to the VSCode extension. The statusLine config in settings.json works perfectly in the terminal CLI but is completely ignored in the VSCode panel.

Having cost, token count, time, and context % visible while working in VSCode would be very helpful. Just honoring the existing statusLine config would cover both Desktop and VSCode in one go.

MystroDave · 4 months ago

+1 on this. Adding a use case that complements the rate-limit / context-usage angle: git branch and worktree visibility.

I work across multiple git worktrees simultaneously (one per in-flight PR) and frequently need to glance down and confirm which branch/worktree my current Claude Code session is in before committing, pushing, or running infra changes. My statusLine command already surfaces:

/Users/me/project [wkt:feature-xyz] (branch+!) model-name

— blue cwd, + for staged, ! for unstaged, worktree name when applicable — and it renders perfectly in the Claude Code CLI. It's silently ignored by the desktop app.

Honoring statusLine in the desktop app would cover at least three distinct pain points with a single change:

  1. Current git branch (critical for multi-worktree workflows)
  2. Rate-limit / context usage (per the OP)
  3. Any custom script users want — Max plan timers, k8s context, cloud-env pinning, etc.

The statusLine config shape is already documented and stable. Desktop parity here is pure upside — no new API, no new settings key, just "don't silently drop the output."

chrisgdial · 4 months ago

+1 on this, I'd really like to be able to display my custom statusline in the Desktop app, this is really the only thing preventing my from completely switching over to the Desktop app at this point.

Bertie-Chapman · 4 months ago

+1 our team use a custom status line to determine updates of template files for bootstrapping Claude files across many repos.

petered · 3 months ago

+1 - For me this is the only important drawback of claude desktop vs terminal.

maitchison · 2 months ago

+1 on this for me too. status bar is a key part of my workflow.

thierry-bitstack · 2 months ago

+1, with a concrete use case

I run the desktop app with one git worktree per PR. What makes worktree/branch identity safety-critical for me: the desktop's built-in footer drops the worktree name as soon as a PR badge appears for that branch — so exactly when a worktree has an open PR (the moment I'm most likely to commit or push to the wrong one), its name is no longer visible.

I already have a working CLI statusLine that always shows worktree · branch · PR · context% · 5h/7d quota, and it renders perfectly in the terminal — but the desktop GUI ignores it entirely. Having the desktop honor the existing statusLine config (render its output as a persistent bottom bar, same as the CLI) would fix this with no new API surface.

If a full statusLine port is too much, even just keeping the worktree name pinned alongside the PR badge in the existing footer would solve the immediate safety issue.

Sbenazar · 1 month ago

Seconding the asks above - thierry-bitstack and MystroDave already covered my exact 5h/7d + worktree case, so I won't repeat it.

One thing nobody's flagged yet: the color carries as much as the text. In my terminal statusLine I don't tint 5h/7d by the raw % - I tint by pace. How much of the window should be gone by now if I spent it evenly, vs how much I've actually burned. Red if I'm ahead, green if under. That's the ambient read I lose in the GUI - a bare number, or /usage on demand, won't tell me at a glance whether I'm on track to hit the wall before teh reset.

So whatever port happens, please carry the ANSI colors through, not just the plain string.

mteplyi-flexum · 1 month ago

+1 — I've already invested in a custom statusLine script that gives me exactly the info I want at a glance. I'd love for the Desktop app to render that same status line so my setup carries over unchanged.

Masashi-Ono0611 · 1 month ago

I wanted to add my own experience here since I think it underscores why this matters.

I've built a fairly extensive custom statusLine setup on the CLI side that I now rely on constantly — it's become something like a mission-control bar for my whole agentic workflow, not just for Claude Code itself. On top of the built-in context/cost info, I track:

  • A gradient progress bar for context-window usage, so I can eyeball pressure at a glance without doing math
  • Current git branch (I work across many repos/worktrees in parallel, so this alone prevents a lot of "wrong branch" mistakes)
  • Rate-limit / reset countdowns for another CLI agent tool I run alongside Claude Code
  • Live health badges for a couple of peer AI agent processes I coordinate with asynchronously, so I know instantly if a fallback path needs to kick in

This setup genuinely changed how I work day to day — at-a-glance visibility means I don't have to break flow to go check separate dashboards or terminals. The problem is: the moment I switch over to the Desktop App, all of that disappears, and I lose the situational awareness I've come to depend on. Since I move between CLI/VS Code and Desktop depending on the task, this creates a real, recurring gap for me.

+1 on honoring statusLine (or an equivalent) in the Desktop App. Even surfacing a subset of what the CLI supports would make a big difference for anyone who's invested time into a custom setup like this.