Free forever · no account required

A calm git client
for the age of AI agents.

The agent writes the code. You review every change, fix what's off, stage exactly the lines that are right, and ship — all in one fast, local window.

macOS & Windows · Linux soon · no telemetry

One window. Your branch, the changes your agent made, and a review surface that's actually a pleasure to use.

The review-and-ship loop

Everything you need to supervise an agent. Nothing you don't.

See every change at a glance

A clean, colored-lane commit graph with author avatars right on the nodes. Branch and tag labels stay legible — not spaghetti. Flip between Graph and List whenever you want.

Know exactly what the agent touched

Staged, changed, untracked — as a flat list or a folder tree with per-folder change counts. Spot the module it wandered into before you ever hit commit.

Working tree FlatTree
Staged 23
▾ 📁 src/review9
M ReviewPane.tsxM
A useDiff.tsA
▸ 📁 src/graph8
▸ 📁 src/api5
M package.jsonM

Fix it right where you review it

A project explorer and a light editor live right next to your changes. Open a file, fix the line the agent got wrong, ⌘S — and watch it land in Changes, ready to stage. Tabs, find & replace, ⌘P quick-open, project-wide search, one-click format, and previews for images, PDFs, audio and video.

sync.ts ● types.ts
12export async sync(id) {
13 const row = await db.get(id);
14 if (!row) return null;
15 return push(row);
16}
Changes
sync.tsM
types.tsM
README.mdM

Stage exactly the lines you mean

The agent fixed the bug — and reformatted three files while it was there. Stage, unstage or discard by hunk or by individual line, so each commit holds what it says it does and nothing else.

@@ -14,6 +14,7 @@ Stage 2 lines
const row = await db.get(id);
✓- if (row == undefined) return;
✓+ if (!row) return null;
+ // TODO: tidy later
return push(row);

Review pull requests without leaving

Open a PR, read the conversation and its checks, then approve, request changes or merge — or create one — in the same calm window. No browser-tab roundtrip just to see what's waiting on you. Works with GitHub through the gh CLI.

⎇ Pull Requests12
feat: gallery component
#4148 · agent-pass → main
Approved FV
fix: sorting on role page
#4126 · fix/sort → stable
Review UW
feat: csv export stream
#4119 · export-csv → stable
Approved VW

Conflicts, surfaced — and a clear way out

Conflicts get their own section at the top of your changes. Fix them in the editor, stage them, and a banner offers Continue or Abort for the merge, rebase, cherry-pick or revert in progress — no stuck repo, no terminal required.

Rebase paused · resolve & stage to continue ContinueSkipAbort
Conflicts 3
src/api/sync.tsboth modified
src/api/types.tsboth modified
package-lock.jsonboth added
Every repo, one click apart
Open projects in separate windows or as tabs, with dirty and ahead/behind badges on each.
Branches & tags
Checkout, create from here, rename, merge, rebase, reset — and remote branches in the same search.
One-button Update
Pulls with autostash so local edits ride along. Background fetch keeps behind-counts honest.
Commit ergonomics
Summary and body length hints, plus amend that warns before rewriting a pushed commit.
File history
Every commit that touched a file — across renames — with its diff one click away.
Compare branches
See what any branch has that yours doesn’t, file by file, before you merge it.
Commit surgery
Cherry-pick, revert, reset, or drop a commit straight from the graph.
Stash & restore
Park work in progress; apply, pop or drop it when you’re ready.
Clone & init
Clone from a URL or start a fresh repository without leaving the app.
Multiple GitHub accounts
Pick an account per repo. Push to the wrong one and StageLeaf offers to switch and retry.
Local-first & private
Uses your own git and gh — StageLeaf never stores your credentials. No telemetry, no analytics, no account.
Agent-agnostic
Works alongside any agent — Claude Code, Codex, Gemini CLI. You run it; StageLeaf shows and reviews what it changed.
Make it yours

Twelve themes. Dark-first.

From the signature calm-green default to the classics you already love. Pick one and the whole window follows.

Light, not bloated

Fast, because it does less.

Your IDE pours gigabytes into language servers and indexers. StageLeaf is a git client first, with just enough editor for the “look at this, tweak that” moments — and none of the machinery that makes an IDE heavy. The agent writes the code; you review, fix and ship it.

No language servers
No background indexers
No account, no telemetry
Git, review and a light editor
Opens in a blink, stays light all day.
Why StageLeaf

AI agents quietly took over the typing.

The day reorganized itself: open the editor, check the branch, fire up the agent — then spend the real time reviewing what it changed, deciding what's safe to commit, and shipping. The heavyweight IDE was doing two small jobs while its real feature went unused. So StageLeaf does exactly that loop, and nothing extra.

Lean, not bloated

It does the git-and-review loop beautifully, with just enough editor to fix what you find — never a full IDE.

Local-first

Your machine, your tool. No mandatory account, no forced cloud, no telemetry.

Single-stream & calm

One developer, one branch, one agent at a time — not fleets, boards, or dashboards.

The git surface is the control surface

The diff and the change list are how you stay in control of what the AI did. We make that surface excellent.

Agent-agnostic

Works alongside any agent — Claude Code, Codex, Gemini CLI. You run it; StageLeaf shows and reviews what it changed. No lock-in.

Free, and yours

Free to use forever. Pay only if you want to support it. Own your tool.

Own your tool.

Free, indefinitely. No account, no telemetry — download it and open a repo.

v0.2.0 · released Oct 7, 2026 · macOS universal 12 MB · Windows 4 MB

Builds aren't code-signed yet. How to open them

macOS: open the .dmg and drag StageLeaf to Applications. If macOS says it “can't be verified” or “is damaged”, go to System Settings → Privacy & Security and click Open Anyway, or run this once in Terminal:

xattr -dr com.apple.quarantine /Applications/StageLeaf.app

Windows: if SmartScreen shows “Windows protected your PC”, click More info → Run anyway.

Signed and notarized builds are on the way.

macOS on Apple Silicon & Intel · Windows 10 & 11 · needs git; GitHub CLI for pull requests