Skip to content

[FEATURE] VS Code Extension: Diff review UI similar to GitHub Copilot Edits Review #33932

Open

Description

@yakupadakli

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

When Claude Code modifies files in the VS Code extension, there is no built-in UI to review, accept, or reject those changes. I have to leave the Claude Code panel and manually check the Source Control panel or run git diff to see what changed — this breaks the flow completely.

GitHub Copilot solves this with "Edits Review": a dedicated inline diff UI that lets you accept/reject changes per-file or per-change without leaving the chat context. Claude Desktop's Code tab already has a similar diff stats indicator (+12 -1) with a clickable diff viewer, but this is missing from the VS Code extension.

The current workflow requires me to manually switch to Source Control, review diffs there, and then come back — all outside the Claude Code interface.

Proposed Solution

After Claude Code modifies files, the VS Code extension should show:

  1. A list of all modified files with a pending indicator in the chat panel and Explorer view
  2. An inline diff in the editor when a modified file is opened
  3. Editor overlay controls to navigate between changes and accept/reject them individually (per-change and per-file)
  4. "Accept All" / "Reject All" buttons in the chat panel

This is exactly how GitHub Copilot Edits Review works: https://code.visualstudio.com/docs/copilot/chat/review-code-edits

Claude Desktop already has a diff viewer (diff stats indicator +12 -1 that opens a diff viewer with inline commenting). Bringing this to the VS Code extension would close the gap.

Related: Desktop diff viewer bug #26548

Alternative Solutions

Currently I switch to VS Code's Source Control panel and review diffs there manually after each Claude Code session. I also use git diff in the terminal.

Other tools solve this natively: GitHub Copilot has Edits Review built into the chat panel, and Claude Desktop already has a diff stats indicator with a clickable diff viewer — so the capability exists within Anthropic's own ecosystem, just not in the VS Code extension.

Priority

High - Significant impact on productivity

Feature Category

Interactive mode (TUI)

Use Case Example

  1. I ask Claude Code in VS Code: "Refactor the authentication module and update all related tests"
  2. Claude modifies 8 files across the project
  3. Currently: I have to open Source Control panel, click each file one by one, review the diff, then decide — completely outside the Claude Code interface
  4. With this feature: A pending edits list appears in the chat panel, I click each file to see the inline diff, and accept/reject changes without ever leaving Claude Code
  5. This would save significant time and reduce the risk of accidentally accepting unwanted changes across large refactors

Additional Context

Similar features in other tools:

The VS Code extension's checkpoints feature (rewind) partially addresses this, but it's a revert mechanism — not a review/accept/reject workflow. Users need granular control over which changes to keep before committing.

Activity

  1. mikeleg commented on Mar 17, 2026

    @mikeleg

    I created a VS Code plugin that allows me to review markdown files and then generates a response prompt with comments on the lines or selections made.

  2. ben-meeker commented on Mar 20, 2026

    @ben-meeker

    Actually crazy that this doesn't exist. It is a standard for IDE extensions at this point - would love to see it implemented!

  3. mikeleg commented on Mar 20, 2026

    @mikeleg

    This is our repo is in alpha mode.

  4. WissamAntoun commented on Mar 23, 2026

    @WissamAntoun

    I recently switched from github copilot to claude code, and this feature is the one i miss the most. Hopefully it gets implemented soon. The UX with Copilot chat is easy to understand and visually clean

  5. mikeleg commented on Mar 23, 2026

    @mikeleg

    I recently switched from github copilot to claude code, and this feature is the one i miss the most. Hopefully it gets implemented soon. The UX with Copilot chat is easy to understand and visually clean

    you can use claude code in vscode, and you have full of plan

  6. WissamAntoun commented on Mar 23, 2026

    @WissamAntoun

    I recently switched from github copilot to claude code, and this feature is the one i miss the most. Hopefully it gets implemented soon. The UX with Copilot chat is easy to understand and visually clean

    you can use claude code in vscode, and you have full of plan

    @mikeleg yes I'm using that, i have the claude extension for vscode. Before, I was using GitHub Copilot (student package) with the claude agent sdk https://code.visualstudio.com/docs/copilot/agents/third-party-agents#_claude-agent-preview . I'm not sure if i can use claude via github copilot agents but with my claude subscription

  7. mikeleg commented on Mar 24, 2026

    @mikeleg

    We created a new plugin for vscode for a review plan.

  8. molon commented on Mar 24, 2026

    @molon

    I ran into the same issue, so that's why this library exists.
    https://github.com/molon/hunkwise
    Happy to hear feedback!

    Image
  9. WissamAntoun commented on Mar 24, 2026

    @WissamAntoun

    @molon The extension works perfectly! Thank you for creating this!

  10. MaxiKingXXL commented on Apr 17, 2026

    @MaxiKingXXL

    I'm waiting for that feature. Would be very nice.

  11. ImmortalWing commented on Apr 25, 2026

    @ImmortalWing

    Adding another data point to this — the issue is even more fundamental than just "no review UI".

    When Claude Code: (VS Code: native UI panel) edits files, the changes are written directly to disk without going through VS Code:'s TextEditorEdit API. As a result:

    • No gutter decorations (green/red/blue bars) appear in the editor
    • No inline diff is available when clicking the modified file
    • The file tab sometimes doesn't even show the "modified" dot indicator

    The only way to see what changed is to manually open Source Control panel or run git diff. This makes the current workflow not just "inconvenient" but actually error-prone for large refactors where you need to verify every line.

    Would love to see this prioritized, especially since Claude Desktop already has the diff stats indicator (+12 -1) and clickable diff viewer — the capability clearly exists within Anthropic's ecosystem.

  12. luayalshawi commented on May 2, 2026

    @luayalshawi

    This is very critical feature that must be prioritized (I hate engineering with Claude code because of this). It seems it's designed for vibe coders where they blindly accept anything.

    I have been looking around for sometime why no one complains about this because it's so important for technical people. The experience to review, accept, reject small edits or even review the whole session edits is so critical. Will try @molon extension and hope it closes this gap.

  13. 26 remaining items

  14. kevin8023c commented on Oct 3, 2026

    @kevin8023c

    I want to emphasize the end-of-turn, cross-file review aspect of this request. After Claude finishes a task, I'd like to see every changed file in the Claude panel with +/− line counts; opening a file should show additions and deletions inline, with Keep/Revert per hunk and Keep All for the whole turn. Manual mode's per-edit, pre-apply diff is helpful, but it doesn't give me one consolidated view of what changed across the codebase. Following those changes in the editor is how I learn and verify the code, especially when a task touches many files. This review workflow is the main reason I still use GitHub Copilot; I would switch to Claude Code for editing if it were available.

    Frankly, I'm surprised this is still missing from the official VS Code extension for a coding agent. Without a clear review trail, it's hard to trust and track changes across a large codebase. Could someone from the Claude Code team say whether a native solution is planned, and why this hasn't been prioritized? For me, this is a high-priority blocker to using Claude Code as my primary development tool.

  15. drekthral commented on Oct 3, 2026

    @drekthral

    Reading code is not the future (for most of us). We are not getting this feature guys.

  16. kevin8023c commented on Oct 3, 2026

    @kevin8023c

    @drekthral I agree that AI agents are enabling many people to build software without writing every line themselves. That future is already here. But it makes review more important, not less. A person may not express a requirement perfectly; even with a clear request, an agent can misunderstand the surrounding architecture or implement the wrong thing in a large project. For important functionality, I still need to inspect the actual changes and run tests before trusting them.

    That is why an end-of-task diff review in the VS Code extension matters so much to me—and, I suspect, to many others following this issue. GitHub Copilot already lets me see the before and after inline, understand each change, and keep or revert it. That is how I verify whether the AI implemented what I meant. AI can write the code, but developers still need a practical way to review and take responsibility for it. I hope Anthropic will prioritize a comparable feature in Claude Code.

  17. UruchimaW commented on Oct 22, 2026

    @UruchimaW

    This is one of the missing features that has kept me from fully using Claude for development. The local copilot mode has overall a better turn by turn human in the loop process. Although everything is moving to fully agentic solutions, being able to iterate with greater precision is still beneficial.

  18. janv93 commented on Oct 22, 2026

    @janv93

    Please implement the granular diff in the Claude Code extension. We cannot rely on git diff, git changes can contain much more than the agent session changes. Neither can we depend on third party apps/wrappers for obvious reasons

  19. kimvais commented on Oct 24, 2026

    @kimvais

    For CLI users in the meantime: vjuu has a Stop hook that opens the diff of the files Claude edited this turn in a separate window when the turn ends. You comment on lines and the comments go straight back to Claude. No keep/revert per hunk yet ... and it's git diff of those files, so earlier uncommitted changes to the same files show too. (Disclosure: I wrote it.)

  20. AlessandroLobo commented on Oct 27, 2026

    @AlessandroLobo

    Not a fix for the extension itself, but in case it helps anyone waiting on this: I’m the author of AgenteCode, a VS Code-based IDE with Claude Code embedded, and I built a review flow along the lines of this request.

    What it does:

    A “Agent changes” panel listing the files the agent changed in the conversation, with +/− counts, Accept all / Discard all, and per-file Keep / Undo.
    Keep / Undo buttons above each changed hunk inside the editor (Alt+Y / Alt+N), plus gutter marks, and a marker on the changed files in the Explorer.
    Per-turn review: compare against the start of the conversation, “before the last response”, or before any earlier prompt.
    Only what the agent touched, not mixed with unrelated git diff output. This includes edits made by terminal commands (perl -pi, sed, scripts), by taking a git snapshot at the start of each prompt.

    Limitations: it’s a separate IDE (Windows installer and Linux .deb), terminal-change capture needs a git repo, and checkpointing of the agent’s own tools still comes from Claude Code.

    Releases: https://agentecode.github.io (feedback welcome).

  21. balabommablock-cpu commented on Oct 28, 2026

    @balabommablock-cpu

    I read the thread and the current docs. Most of the pieces seem to exist already, so this may be smaller than it looks:

    • Manual mode already has per-change Accept / Reject (v2.1.275+), but only before an edit lands. Auto and Edit automatically, the modes people use for big refactors, are where review is missing.
    • Checkpoints already keep each file's first snapshot, and the docs say the VS Code extension uses it as the baseline for its session diff. So "what did Claude change" is already known separately from git diff, which is @janv93's point: git also shows your own uncommitted work.

    So the ask is mostly: the same per-change buttons, after the fact, against that baseline.

    Smallest version I'd ship

    1. A Changes list in the panel after each turn: the files Claude touched, with +/− counts. Toggle: this turn / whole session.
    2. Opening a file shows the diff against the baseline, with the existing Accept / Reject buttons. Reject puts that hunk back.
    3. Keep all / Undo all for the turn.
    4. Tell Claude what you undid, like Manual mode already does when you edit a proposal. Otherwise the next turn quietly puts it back.

    Edge cases to decide up front

    • You edited the same lines after Claude. Undo should skip that hunk or ask. It should never overwrite your typing.
    • Bash and subagent edits (sed -i, scripts) aren't fully in checkpoints today, per the docs. List them as "changed by a command", view-only, rather than leaving them out. A review list that silently misses files is worse than none, because it teaches you to trust it.
    • Changes from outside the session (you, another session) stay out of the list.

    None of this needs new storage. It's a new view on data the extension already keeps.

  22. adam-toth-at-spare-cores commented on Nov 9, 2026

    @adam-toth-at-spare-cores

    +1, and a use case this would solve beyond convenience: we maintain technical docs with Claude Code in VS Code, and our rules require one human approval per discrete change.

    Today neither mode fits. Ask-before-edits blocks on every edit and can't decide hunk by hunk; auto or accept-edits leaves no review step. So we built a workaround: Claude writes a JSON spec of the edit, a script writes an edited copy and runs code --diff <file> <copy>, Claude asks Apply/Revise/Skip with AskUserQuestion, and the script applies the edit or deletes the copy. It works, but the decision happens in chat instead of on the diff, it costs three or four extra tool calls per edit, and it's all or nothing for each change.

    A few points I'd add to the proposal:

    • Every permission mode: edits are written to disk as pending (so builds and tests see them) and Claude keeps working while they wait for review, including in auto and accept-edits modes.
    • Claude hears the outcome: after each Keep or Undo (or a hand edit before Keep), Claude gets a short note, so it doesn't build on a change the user undid.
    • Optional gate: a setting that makes Claude wait for pending edits to be reviewed before ending its turn, or before a given tool such as git commit, for teams that require every change to be reviewed.
    • Git index: Undo restores the file's state from before Claude's edit, and leaves staged content alone; behavior for files staged in the meantime should be documented.
    • Keybindings: next and previous pending hunk and file, and keep or undo the current one.

    Environment: Claude Code extension 2.1.319, VS Code 1.145.2, Windows 11 Pro (build 10.0.26300).

  23. AlessandroLobo commented on Nov 9, 2026

    @AlessandroLobo

    @adam-toth-at-spare-cores Same need here, so a +1, and a data point that it's buildable today.

    I've been working on AgenteCode (https://agentecode.github.io), a free Code-OSS-based IDE with Claude Code built in. It has an "Agent changes" panel that covers part of what you describe:

    • Edits are written to disk as pending, so builds and tests see them.
    • You review per file and per hunk: Keep (mark as reviewed) or Revert, with the diff open in the editor.
    • You can compare against the start of the conversation.
    • Files that deserve extra scrutiny (CI workflows, .env, lock files, scripts) are flagged as sensitive.

    Not done yet: telling Claude the outcome of each Keep/Undo, and a gate that waits for review before a commit. Those two would need support from the agent side, so I'd also like to see them natively in the extension.

    Feedback is welcome: https://github.com/agentecode/agentecode

  24. rico129g commented on Nov 10, 2026

    @rico129g

    +1 As someone overseeing documentation, we need granular oversight into proposed changes and the ability to accept, reject or edit them in line. Human consumed language is different that code or design. AI slop is real, and while we've automated many of our internal processes and built skills, particularly for documenting UI flows for human we see this as critical to maintain the quality of our content, not overwhelm users with information they don't need, and to validate procedures and make sure language is aligned. Even if in the end most users ask AI for answers. In the meantime we continue to use Cursor for this purpose.

  25. AlessandroLobo commented on Nov 10, 2026

    @AlessandroLobo

    @rico129g That's exactly the use case I built for. AgenteCode (https://agentecode.github.io) is a free Code-OSS-based IDE with Claude Code built in, and its "Agent changes" panel lets you review what the agent wrote before it stays:

    • Every changed file is listed with its diff, and you can Keep (mark as reviewed) or Revert it per file or per hunk.
    • You can edit the file by hand before keeping it, since the changes are real edits on disk.
    • Files that deserve extra attention (CI workflows, .env, lock files, scripts) are flagged as sensitive.

    What it does not have yet is editing a proposal inside the review panel itself, and telling Claude about each Keep/Undo. Those would need support from the agent side, so I'd also like to see them natively in the extension.

    If you try it on your docs workflow, I'd value your feedback: https://github.com/agentecode/agentecode

  26. dnkats commented on Nov 12, 2026

    @dnkats

    In case it helps someone: here is a small VS Code extension I just published, Second Look: https://marketplace.visualstudio.com/items?itemName=dnkats.second-look (code: https://github.com/dnkats/second-look).

    It lists everything Claude Code changed, and you go through it change by change in a diff or directly in the file, accepting or rejecting each one. You can also edit the files by hand during the review.
    What I find quite useful are the line comments. I leave comments on the code, tell Claude “check my comments”, and it goes through them, fixes things and replies in the thread. It also gets told which of its changes I rejected, so it doesn’t sneak them back in.
    It also works over Remote-SSH. I run Claude Code with claude rc in tmux on the same server and review from my laptop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions