[BUG] Diff button shows incorrect file count and changes - not matching actual git diff
Description
The Diff button in Claude Code CLI shows significantly more changes than the actual git diff.
In my case, Claude Code Diff shows +1473 -944 changes across many files (stores/main.ts, types/ai.ts, multiple components, etc.), while the actual git diff --stat shows only 2 files with +27 -21 changes total.
Steps to reproduce
- Have a git repository with some uncommitted changes (in my case, just 2 files modified)
- Run Claude Code CLI and make an edit to a file
- Click the Diff button in the Claude Code interface
- Compare with
git diff --statorgit statusin terminal
Expected behavior
The Diff button should show the same changes as git diff - only the actual uncommitted changes in the repository.
Actual behavior
The Diff button shows a completely different set of files and a much larger number of changes that don't exist in the actual git diff. It appears to be comparing against something other than HEAD or showing some internal cached state.
Environment
- OS: Windows 10 (CYGWIN_NT-10.0)
- Claude Code CLI version: latest
- Git branch: staging (up to date with origin/staging)
Evidence
Git status shows only 2 modified files:
$ git status
On branch staging
Changes not staged for commit:
modified: .claude/settings.local.json
modified: components/user/profile.vue
Git diff stat confirms only ~48 lines changed:
$ git diff --stat
.claude/settings.local.json | 3 ++-
components/user/profile.vue | 45 +++++++++++++++++++++++++-----------
2 files changed, 27 insertions(+), 21 deletions(-)
But Claude Code Diff button shows +1473 -944 with many unrelated files like stores/main.ts, types/ai.ts, deep-learning components, dialogs, etc.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗