Diff StudioBuilt for coding agents. Designed for you to review every change. Diff Studio gives you and your coding agent a shared place to compare files, preview edits, discuss individual lines, and revisit a whole project's changes inside VS Code. Connect an agent, give it your task, and keep the resulting comparisons in a browsable file tree while you review at your own pace. Use it alongside Codex or another agent that can run local commands. It also works as a standalone diff editor for local files, Git history, folders, and SSH machines.
An example catalog project: browse added, modified, deleted, and untracked files while comparing the selected file with its Git baseline. Screenshots show the actual extension with sample data. What you can do
See it in action
Recorded in the real VS Code extension with sample files and a highlighted cursor: open two folders, browse their changes, show or hide comparison setup, then auto-hide, hover to reveal, and pin the file list. Start a comparison
Comparison setup collapses after a successful open. Choose files / revisions brings it back. Existing OpenSSH configuration and keys are used for remote sources. Work alongside a coding agent1. Connect and copy the instructionsClick Connect agent, then Copy agent instructions. Paste the complete handoff into your agent session together with your task. The handoff includes the connection details, installed command-line script, current workspace context, and the complete bundled Diff Studio skill. The agent does not need to clone this repository or install the skill separately. It needs Node.js 18+ and access to the machine running the VS Code extension host. For example, after pasting the handoff:
2. Preview the work and keep your placeAsk the agent to show a comparison before changing a file, publish a whole project review, or add comparisons one by one. The files stay available in Agent files, independently of the recent-history limit. Reopening the same source pair preserves its existing buffers and comments.
Choose any file to pause Follow agent, or uncheck it yourself. Re-enable it when you want to follow subsequent agent operations. An explicit agent Agent buffer edits are previews until saved. An agent can also save through the bridge when your task authorizes it; follow your preferred review instructions when assigning work. 3. Comment, request a fix, and review the replyHover next to a line number and click +, or select a line and click Comment. Comments work on both sides and in every layout. Use Reply, Resolve, or Reopen to keep the discussion attached to the code.
Ask about a specific condition, read the agent's reply, and keep the thread with the comparison. When your comments are ready, click Copy review request in the Files tab and paste it into the agent session. You can add instructions such as:
The agent can read comments, reply in the same threads, edit the existing comparisons, and resolve verified fixes. Your original comments remain visible. If edits move a line, its comment moves with it; changed or deleted anchors retain their original text and are marked for review. Connect agent does not start an AI model, and adding a comment does not notify an agent automatically. Paste the review request or ask your running agent to check comments. Reconnect and copy fresh instructions after reloading VS Code or restarting the bridge. Practical examplesReview everything changed against a branchChoose Changes against branch, browse the repository, and pick Agent prompt:
Find a regression between two releasesChoose Two Git revisions, select your repository and file, then choose a branch, tag, or commit for each side. The dropdowns include commit dates, can be sorted newest or oldest first, and can load older history. Leave the file field empty to compare the whole repository at those revisions.
Compare release tags, branches, or commit SHAs. Historical revision panes are read-only. Agent prompt:
Preview a refactor before savingCompare
Compare configuration across machinesChoose Two files. Use SSH ▾ for either side, connect using an SSH alias or Example sources:
For two servers:
Agent prompt:
Both file panes are writable when the sources support it. Saving is explicit. SSH requires an existing non-interactive OpenSSH connection and Python 3 on the remote host; remote Git comparisons also require Git. Compare two folders without GitChoose Two folders, browse the original and updated directories, and open the changed-file tree. Identical files are omitted. Use this for generated output, configuration migrations, or a before-and-after copy of a project. Local/remote and remote/remote folder pairs are supported too.
Share a review without sharing a repositoryClick Save session to create a Send that file to a teammate. They choose Open session → Review bundled snapshots and can browse the comparisons and add comments without your repository, commit history, or SSH access.
The reopened session retains its file tree and discussion. Bundled snapshots are read-only; comments can still be added and saved. If a matching local repository is available, Link repository can reconnect matching working files. Unmatched commits or contents remain available as bundled snapshots. Save session saves the review, not edits into the original files. Use pane save controls for file changes. Open comparisons persist while the extension host runs; save a session before closing or reloading VS Code to carry them into another run. A session includes full compared text, so choose what you share accordingly. Comparison and editing guide
File additions, deletions, renames, and untracked files appear in Git trees. A missing working file can be recreated by saving its writable pane. Binary, unsupported-encoding, or unreadable entries stay in the tree with an explanation; they do not prevent supported text files from opening. Make room for your review
Monaco supplies syntax highlighting and built-in JavaScript, TypeScript, and JSON language support. Arbitrary VS Code language extensions do not run inside the embedded editor. Script the agent workflowThe copied handoff gives your agent the exact installed CLI and bridge paths. For manual scripting, substitute those paths below. These shell examples use POSIX syntax; the copied startup command adapts to the extension host platform.
Use session and comment IDs returned by
The bridge operates on the extension host machine and displays the comparisons, explanations, and edits an agent explicitly sends. It does not capture hidden reasoning or every keystroke. Diff Studio does not require a model API key; your agent runs separately. Concurrent buffer edits and externally changed files are checked before overwrite. See the detailed reference and bundled agent skill for more examples, snapshot requests, connection details, and recovery behavior. Requirements and scopeVS Code 1.100 or newer. Agent scripts require Node.js 18+. Git comparisons require Git. In a Remote SSH window, local paths refer to the remote extension host; use a local VS Code window to compare laptop files with Diff Studio compares UTF-8 text, with a default file limit of 10 MB that can be changed in Settings. It supports BOM, Unicode, CRLF, and empty files. It is a two-way text comparison tool; it does not provide three-way merge resolution, image/binary diffs, or semantic AST comparison. Unavailable file contents are not bundled in saved sessions; their paths and reasons are retained. Source, support, and developmentSource on GitHub · Report an issue · Changelog · Detailed reference
Open the checkout in VS Code and press F5 to develop the extension. Tests use disposable fixtures and an isolated VS Code profile. See TESTING.md for coverage and environment details. Licensed under MIT. |




