Branch status badge shows diff-vs-base line count instead of branch content

Resolved 💬 3 comments Opened Apr 21, 2026 by businesskat Closed Jun 9, 2026

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:

  1. Commit count and/or the latest commit subject — "20 commits · fix(ai-review): set prime-dark…"
  2. 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.
  3. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗