[FEATURE] Session-scoped diff view (independent of git state)

Resolved 💬 3 comments Opened May 27, 2026 by luayalshawi Closed May 30, 2026

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:

  1. 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."

  1. 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.
  2. Stash / checkout / revert during a session erases the agent's contributions from the pane.
  3. 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.

  1. 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_

View original on GitHub ↗

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