Branch status badge shows diff-vs-base line count instead of branch content
What I see
When I'm on a feature branch with an open PR, the status badge in the Claude Code UI shows something like:
main ← v2ui +16996 −15345 ● CI View PR
The large +N −M number is the cumulative line-level diff between the branch head and the PR base (main in this example).
Why it's the wrong signal
On a feature branch I'm intentionally diverging from main — that's the point of the branch. The magnitude of that divergence is almost never what I want to know. For a long-running branch (like a framework migration) the number climbs into the tens of thousands and becomes pure noise.
Worse, users read it as local state. My actual reaction was "why is 17k/15k lines sitting uncommitted?" The answer — "they're committed and pushed, the number is the PR delta" — is a surprise. The badge implies status/cleanliness but is really just line accounting against a different branch.
What I actually want the badge to tell me
In order of usefulness:
- Commit count and/or the latest commit subject — "20 commits · fix(ai-review): set prime-dark…"
- Work-stream grouping on hover/expand — let me see commits clustered by area (e.g.,
feat(ai-review)× 11,chore(v2ui)× 3), not just flat file diffs. - Actual branch state indicators — is it in sync with upstream? ahead/behind remote? any uncommitted changes locally? These answer "where am I" far better than a diff number.
The diff numbers could stay as a secondary/tooltip fact, but explicitly labeled ("v2ui vs main: +16k/-15k"). They shouldn't dominate the badge's visual space on a branch that's supposed to be diverging.
Context
- The branch in question is a multi-week framework migration (Vue+PrimeVue → React+shadcn). The line numbers will legitimately climb into six figures before merge. The badge becomes increasingly useless as the work progresses.
- Related confusion: the number is the cumulative delta to base, not pending work or unpushed. I've seen multiple users read that number as "something to finish/clean up."
Suggestion
Default to commit-centric information on the branch. Reserve line-diff stats for when the user is about to ship (review/merge UI) — that's the moment the scope number is actually useful.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗