[FEATURE] Session-scoped diff view (independent of git state)
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
The diff pane in Claude Desktop (and equivalent views in Claude Code / IDE extensions) currently reflects git status — working tree vs HEAD for the opened repo. This
conflates the agent's session work with unrelated working-tree state and breaks in several common scenarios:
- Pre-existing uncommitted changes mix in with agent edits, with no visual separator between "I had this dirty before the session started" and "the agent just
changed this."
- Mid-session commits cause the agent's own edits to disappear from the pane (they're now in HEAD), even though they're conceptually part of the session.
- Stash / checkout / revert during a session erases the agent's contributions from the pane.
- Edits outside the opened repo are invisible. In multi-repo workspaces (common for full-stack work — e.g., a backend repo + a mobile repo + a marketing site
sharing a parent folder), the agent can legitimately edit sibling repos via absolute paths, but those edits never show up in the diff pane regardless of who made
them.
- No-git directories show nothing at all.
The underlying issue: the pane answers "what does git think changed?" when users want it to answer "what did this session change?"
Proposed Solution
A session-scoped diff view that tracks every file the agent has touched in the current conversation, with the diff computed against each file's pre-edit state at the
moment of first modification — not against HEAD.
Requirements:
- Tracks Edit, Write, NotebookEdit, and any other file-mutating tool calls.
- Works for files in any location: inside the opened repo, in sibling repos, in non-git directories, in /tmp, etc.
- Survives mid-session commits, stashes, and external file changes — the baseline is the file's content when the session first touched it, not git state.
- Each entry is independently navigable / collapsible, with a clear file path (including repo, when ambiguous).
- Ideally accept/reject affordances per change, as Cursor's Composer does — but at minimum, a read-only session-scoped view would already be a large improvement.
Prior art
Cursor's Composer/Agent review pane is the closest existing implementation: session-scoped, git-independent, per-file accept/reject. Worth referencing for UX shape.
Alternative Solutions
_No response_
Priority
High - Significant impact on productivity
Feature Category
CLI commands and flags
Use Case Example
Two scenarios where today's pane is actively misleading:
- Multi-repo full-stack work: a feature touches a backend repo, a mobile repo, and a marketing site sharing a workspace folder. Opening any one of them in Claude
Desktop shows only that repo's diffs — the other two-thirds of the agent's work is invisible.
- Long sessions with intermediate commits: when the agent commits a logical chunk and continues, the pane forgets the earlier work, making end-of-session review
require manual git log archaeology.
A session-scoped view solves both without breaking the existing git-backed view (they can coexist as tabs or a toggle).
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗