Local git review · Windows & Linux
Review what you haven’t pushed yet.
Changeset reads one repository’s working tree — staged, unstaged, untracked — and shows it the way a pull request shows a branch. Except there’s no branch, no remote, and no server. It runs on your own machine, against your own files.
Download Trial Version Now
Free to try. No build is published yet.
Pro Version Coming Soon
git on your PATH↑ That Review button is git add — it writes the index, nothing more.
Why this exists
Code generation is the easy part. Quality is now the challenge.
AI-accelerated engineering churns out far more change than anyone planned to read. The hard part is no longer producing it — it is reasoning about the volume of it, and deciding what has earned a place in your history. Quality does not survive that on willpower; it survives on a gate. Changeset is one of those gates — the last place a change is actually read, and the place you commit only what passes your standards.
The review model
Reviewed isn’t a checkbox. It’s the index.
Most review tools keep a table of what you’ve looked at. Changeset keeps nothing. A file is reviewed when it is fully staged — so the state already lives in the one place you and your tools both trust, and it survives quitting the app, switching machines, or never opening the app again.
git addMarking reviewed stages
Pressing Review runs git add on that path — it writes the index, and that action touches nothing else.
git resetUn-reviewing unstages
Changed your mind mid-read? Un-review moves the index entry back. It asks first, because that is a real edit to your staging area.
git diff --cachedThe state is derived
Progress is recomputed from git on every read. There is no database to drift, corrupt, or migrate.
What’s in it
Built for the read, not the merge.
Work the open items WITH Claude
Every note and flag you leave becomes a shared to-do you and Claude tackle together — Claude answers your questions in the thread, proposes a fix, and waits for your verdict before touching anything.
Issue commands to change the tree
Ask for the change in your own words and Claude edits the working tree — polish a function, apply a review note across files, tidy a whole changeset — then you review the result in the same diff.
Both sides of a partial stage
A file that is half-staged appears twice — once as the delta you already approved, once as the part still waiting. Each entry renders its own side’s diff.
Word-level intra-line diff
Changed words are tinted inside the line, so a renamed variable doesn’t read as a rewritten function.
Syntax highlighting on the host
Tokenizing runs on the machine holding the repo and sends tokens. The tablet renders colour without ever downloading a grammar.
SQL keyword badges
In SQL and TypeScript, capitalized SQL keywords render as inline badges — multi-word phrases as one unit. Off by default.
Markdown and code preview
Any non-binary file opens in a frosted preview over the diff, with a note gutter, a contents panel, action markers that make items needing attention pop, and auto-watch as the file changes.
Notes and question threads
Leave a note on a file or a single line. Each note is a THREAD — ask a question, get an answer, approve or reject a proposed fix, right where the question came up.
Staging resolves the thread
Marking a file reviewed closes its open notes and clears its inquiry flag, after showing you what it is about to close.
Doubles as a backlog tool
The notes and threads model tracks your backlog items too, and lets no item get missed — the ones still open are simply the threads nobody has closed.
A searchable changeset
Staged, unstaged and untracked split the way git splits them, with a searchable file list — the unstaged queue is simply what is left to review.
Shareable permalinks
A URL that survives refresh and restores the file, the side you were on, the preview state and the visible line range.
Themes that hold up
Five themes with lightness and high-contrast controls, applied before first paint so the app never flashes the wrong one at you.
Second screen
Scan it. Read the diff on the couch.
Changeset serves a read-only viewer on your local network. Point a tablet at the QR code and the same changeset opens over Wi-Fi — the whole review UI, sized for touch, with notes you can write on the file or on a single line. The diff is still served from the machine holding the repo, so nothing leaves your network.
Boundaries
The list of things it will never do to your code.
- Your files
- Never unasked. Reviewing itself only ever writes the git index — git add and git reset. Claude edits the working tree when YOU ask it to, never on its own, and every edit lands back in the diff for you to read before it counts as reviewed.
- Stale bytes
- Never staged. Every entry carries its working-tree blob hash. If the file changed while you were reading it, staging stops and tells you — so it cannot stage bytes nobody reviewed.
- Outside the repo
- Never read. Paths are resolved and containment-checked against the repositories you configured, symlinks and .. included.
- The network
- Never left. There is no account, no telemetry, and no deployment. It binds to your machine, and the tablet view is your own LAN.
What it costs
$5.00 one-time
One-time purchase, no subscriptions. You own that particular version, FOREVER.
Changeset reads your local repositories directly — no mount, no SSH, no upload. It is a desktop app rather than a hosted one precisely because your working tree should never have to leave your machine to be reviewed. Windows and Linux — coming to Apple Silicon Macs soon.
Download Trial Version Now
Free to try. No build is published yet.
Pro Version Coming Soon
Questions about licensing, teams or another platform? Contact us for inquiries.
A Claude subscription is required
The collaboration features run on your own Claude subscription, billed separately by Anthropic. Changeset neither includes nor resells it — without an active subscription the review, diff and preview tools still work, but Claude cannot answer notes or change your tree.
One repository. Everything you haven’t committed.
Windows & Linux · ships with its own runtime · borrows only git from your system