Add batch diff review mode: show all changes together before approval (like Cursor's native agent)
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
Problem
The Claude Code VS Code extension currently offers two edit modes:
- Ask before edits – approves changes one line at a time, forcing decisions without seeing the full picture
- Edit automatically – makes all changes silently with no diff review at all
Neither option matches the workflow that Cursor's native agent provides, where ALL changes are made first and then presented together as inline diffs for the developer to review, approve, or reject — individually or all at once.
The Claude Code VS Code extension currently offers two edit modes: Ask before edits approves changes one line at a time, forcing decisions without seeing the full picture. Edit automatically makes all changes silently with no diff review at all. Neither option matches the workflow that Cursor's native agent provides, where ALL changes are made first and then presented together as inline diffs for the developer to review, approve, or reject — individually or all at once. This is a significant UX regression for teams switching from Cursor to the Claude extension.
What we want
A third mode: "Batch diff review" — Claude makes all its changes, then presents the full set of diffs together for review before committing, just like Cursor's native agent workflow.
Proposed Solution
Add a third mode: "Batch diff review" — Claude makes all its changes across all files, then pauses and presents the complete set of diffs together in VS Code's native diff viewer before anything is committed. The developer can then review all changes in context, seeing how they work together, and approve or reject them individually or all at once — exactly like Cursor's native agent workflow.
Alternative Solutions
Using git diff after "Edit automatically" works as a workaround but is cumbersome, especially in projects with submodules where you have to cd into each subfolder separately. There is currently no clean solution.
Priority
Critical - Blocking my work
Feature Category
File operations
Use Case Example
I ask Claude to make a change that touches 4 files. With "Ask before edits" I have to approve each individual line change without knowing what's coming next — I'm making decisions blind. With "Edit automatically" Claude makes all the changes silently and I have no idea what it did without manually running git diff. What I want: Claude finishes all edits, then shows me all 4 files side by side as diffs. I review them together, see how they relate, then approve or reject each one.
Additional Context
Several teams switched from Cursor to the Claude extension specifically to use the Max subscription instead of per-seat Cursor billing — but this diff workflow gap is a real pain point. Related issues: #29388, #11411, #2502. Cursor's native agent is the reference implementation for what this should look like.
Showing cached comments. Read the full discussion on GitHub ↗
16 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Thank you for your response. However, all the "duplicates" shared are closed and the requested update/fix has not been implemented. For the sake of all the similar/duplicate requests, please keep one open in order to allow users to upvote it. The issue is a real concern, and we look forward to implementing this feature. Thank you for your consideration.
Why is everything always auto-closed here? People are forced to create duplicates just to keep valid issues alive.
This issue should be seriously considered. Copilot and Codex extensions handle things more conveniently.
That approval gap is exactly the kind of control problem I'm building Daedalab around. Agents need a full diff and an approval checkpoint before anything lands, not line-by-line prompts or silent auto-edits. If you're curios: www.daedalab.app
I need the tkdiff tool to oversee all changes everywhere in the file under hands to make sense of the bigger picture and to check the changes are coherent. Claude code runs tkdiff with the diffs.
This requirees 4 Claude code actions that require my approval:
copy original to ./claude-tmp
approve changes on that file
permission to start tkdiff
permission to copy the tempfile over the original file.
So i click yes 4 times.
Please add tkdiff as trusted external tool and allow it to store the temp file in the current work dir to prevent /tmp/tempfile permission requests.
For CLI users, diffpane does this. It runs in a split pane next to Claude Code and diffs against a session baseline (HEAD when you started), so you see exactly what the agent changed, nothing else. Changes show up in real time as the agent works, no manual refresh needed.
!demo
+1, and the "before approval" part is the crux. Ask-before-edits one line at a time loses the forest for the trees; edit-automatically loses the review entirely — neither gives you the "see the whole batch, then decide" moment that actually builds the confidence to merge.
Honest question (not selling anything): once an agent drops a whole batch on you, do you actually want to go diff-by-diff and reconstruct why each change is there yourself — or would you rather be handed enough to decide approve-vs-reject for the batch in a couple of minutes and move on?
Asking because I'm building the second version of that: a pre-made "is this batch safe to approve" summary, so reviewing 30 agent changes doesn't eat your whole day. If that's a real pain for you or your team, I'd love to hear how you review agent changes today.
Please, please, please implement this. Some of us do actually want visibility and control over each edit. It helps so much when it comes to seeing how an LLM approached the problem and solution. This is absolutely critical for specialized code, where every single LLM chokes and needs more specific direction and back-and-forth with the developer.
The fact that this isn't a standard option across all editors/tools, is deeply confusing and frustrating to me. It genuinely makes me consider using lesser tools and LLMs, just for this functionality.
Yes, please. It is critical. Cursor and Copilot have this.
+1, this is exactly the thing I'm looking for as I was a Github Copilot subscriber and just bought one month of Claude Code to test it out. Copilot implements this very well. This feature is really missing as I come from Copilot. Approving each change one by one really defeats the purpose of agentic development and auto approve really makes you a vibe coder. We need that sweet spot where you delegate the task to the agent and move to another task and come for the changes and approval when the agent finished the task. This way you see the whole picture in a bird's eye view. maybe you test the feature in the UI before you review the code and maybe you reject the whole change without looking at the code. Even Antigravity has this feature and it is convenient.
I really hope you take this seriously and add this feature because, as I said, my team and I just bought one month to test it out and this feature is a major drawback for us.
Also wanting this feature +1
+1
I am not sure why this has so low priority. It is one of the reasons I am considering moving away from Claude code 😅. Reviewing changes from Claude code is rather annoying at the moment.
This ☝🏻
Only reason I am still using other subscriptions.
Ran into this exact gap running Claude Code inside the Cursor extension. In auto-accept mode there's no way to review the session's changes as one aggregated set afterward —
/diffgives per-turn navigation rather than a single batched view, and plain git diff pulls in any pre-existing uncommitted changes in the repo that predate the session, so it's not actually scoped to what the agent did.This is very important! I am used to keeping the target code files open so I can watch exactly what the AI agent modifies and adds, and then I review the changes at the end. This workflow works perfectly with Copilot.
However, in Claude, keeping the file editor open has no practical effect. It processes in the background and tells you it's done, but there are absolutely no diff markers or visual changes in the file editor.
@claude is anyone from anthropic's dev team even looking at this or this just goes into the void ?