Input-area git chip: distinguish "Commit changes" (dirty tree) vs "Push changes" (ahead of upstream)

Status Closed — not planned
Maintainer reply None cached
Activity 2 comments · opened Jul 17, 2026 · closed Jul 17, 2026

Summary

The input-area git chip always labels its action "Commit changes" and shows the cumulative diff ahead of the upstream (e.g. +7,282 -0) even when the working tree is clean and there is nothing to commit. In that state the actionable git step is a push, not a commit, so the label misleads.

Current behavior

  • Working tree clean, local branch ahead of origin/main by N commits.
  • Chip shows +X -Y (the ahead-of-origin diff) with a Commit changes button.
  • Clicking "commit" finds nothing to commit.

Requested behavior

  1. Show Commit changes + line counter only when the working tree has uncommitted changes.
  2. When the tree is clean but the branch is ahead of its upstream, show Push changes with an unpushed-commit counter.
  3. The Push button runs git push to the upstream behind a confirmation prompt.

Why

Separating the two states matches how most git UIs behave and avoids a "Commit changes" button that cannot commit anything. The counter's meaning also becomes unambiguous (uncommitted lines vs unpushed commits).

Environment

  • Claude Code desktop, Opus 4.8.

Filed with help from Claude Code.

View original on GitHub ↗

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