{"version":"2.1.307","anchor":"git-diffstatus-helpers-take-a-non-git-subprocess-path","canonical_anchor":"git-diffstatus-helpers-take-a-non-git-subprocess-path","heading":"Change summaries can be worked out without running git","tier":"internal","area":"Git","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/git-diffstatus-helpers-take-a-non-git-subprocess-path","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307","markdown":"### Change summaries can be worked out without running git\n\nUnder some conditions, Claude Code now works out file changes itself instead of running git, and ignores checkouts that are not local absolute paths\n\n**Unclear.** It is not known what conditions turn on the git-free path or the checkout filtering, so it is unclear who is affected.\n\n**What**\n\nClaude Code reads your project's changes, such as which files changed and by how many lines, and whether there are uncommitted edits. It used to do this every time by running `git diff --raw --numstat`. Under a certain condition it now works out those changes itself instead of starting git.\n\nTwo related changes:\n\n- Uncommitted-edits check: under that same condition, this check returns straight away and reports no uncommitted edits.\n\n- Repository checkouts: under a separate condition, Claude Code now ignores declared checkouts whose path is not an absolute path or that sit on another machine. It logs how many it ignored.\n\n**Why**\n\nThis looks like preparation for workspaces where git cannot be run directly, such as a remote or virtual one. In such a setup, change summaries may come from Claude Code rather than from git.\n\n- Area: Git\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}