The review & workspace layer you were missing

Stop rubber-stamping AI code.
Read it. Steer it. Own it.

Claude writes faster than you can read. Highlight anything it writes, a reply, a plan, a diff, a file, drop a comment, and watch it revise on the spot, across parallel worktrees, with the final call always yours.

curl -fsSL https://zurge.dev/install.sh | bash

Local-first. No new account. Uses your existing Claude login. Opens with no "unidentified developer" prompt. macOS (Apple Silicon) beta.

zurge reviewing a plan
Plan Diff Browser Response

The category

Not another agent. The layer above the agent.

Claude is still the engine. Zurge is the room you review it in, between what the agent writes and what actually ships. The faster it codes, the more that room matters.

Claude Code

The implementation layer

  • Plans the approach
  • Edits files
  • Runs commands
  • Implements the change

Zurge

The review layer

  • Plans and diffs as cards
  • Comment on lines and hunks
  • Approvals and change requests
  • Feedback straight to the agent

GitHub

The ship layer

  • Open the pull request
  • Code review and CI
  • Merge to main
  • Shipped history
curl -fsSL https://zurge.dev/install.sh | bash

Free, local-first, and it uses the Claude login you already have.

The problem

Claude writes fast. Review did not catch up.

You approve a plan you skimmed, a dozen files you scrolled past, a PR you never really read. Then it breaks two weeks later, and traces back to a change you never saw.

Plans buried in chat
Diffs lost in tool noise
Feedback is copy-paste
You review too late
Then you unwind it

01 Plan review

Catch the wrong idea before it becomes code.

Most agent mistakes are decided before a file changes: wrong scope, wrong assumption, wrong approach. Zurge makes the plan a card you can push back on first.

  • Comment on a specific plan line.
  • Ask Claude why it chose an approach.
  • Request a smaller scope.
  • Approve only when the strategy is right.
  • Keep the approved plan attached to the implementation.

Catch the wrong approach before it becomes a twelve-file diff.

Planrate-limit-loginpending review
1Add a token-bucket limiter in lib/ratelimit.
2Wire it into the auth middleware for every route.
you · ask claudeWhy every route? Scope this to the login endpoint only.
3Return 429 with a Retry-After header.
4Add tests for the limit and the reset window.

02 Diff review

Every edit becomes a diff you'd actually review.

Claude's edits shouldn't live in a wall of tool output. Zurge turns them into clean red-and-green diff cards you read like a pull request.

  • Inline diffs for Edit, Write, and MultiEdit.
  • Highlight a hunk and comment on it, like a PR review.
  • Send a comment back as a change request, applied in the same worktree.
  • Ask Claude why it made a change, answered inline.
  • Hide low-signal tool noise.

Comment on the exact lines. Get the change or the answer back, without leaving the diff.

MultiEditsrc/lib/ratelimit.ts
export function allow(key: string) {- return true // TODO+ const b = buckets.get(key) ?? fill()+ if (b.tokens < 1) return false+ b.tokens -= 1; return true }
you · comment on line 4This silently drops requests. Return a 429 with Retry-After instead, and add a test.
↩ Send as change request
Editsrc/auth/login.ts
+ if (!allow(ip)) return res.status(429)
you · ask claudeWhy rate-limit by IP and not by user id?
claude · answerLogin happens before auth, so there is no user id yet. IP is the only stable key at this point; we switch to user id on authenticated routes.

03 Feedback loop

Your comment becomes the agent's next instruction.

Mark up the plan or diff, then send it straight back to Claude in the same worktree as instructions it can act on. No copy-paste, no lost context.

Comment once. Send it back clearly.

Send feedback to Claude

Review feedback

  1. Do not change webhook retry behavior.
  2. Revert the hunk in checkout/session.ts.
  3. Add a test for 429 responses.
  4. Explain why this helper belongs in lib/payments.
↩ Send to Claude

04 Receipts & recaps

Know exactly what Claude did, even after you stepped away.

When a task finishes, Zurge writes a receipt: the plan, the real diff, the commands run, the tests skipped, the risky bits. Step away and a "where we left off" recap catches you up in seconds.

Less "looks good to me." More "I know what changed, and where I left off."

Implementation receiptneeds changes
taskRate-limit the login endpoint
approved plantoken-bucket, login route only
files changed4 · ratelimit.ts, login.ts, +2
commands runnpm run build ✓
tests not rununit tests for the 429 path
risky changestouched checkout/session.ts retry policy
open questionslimiter scope confirmed for login only?
Where we left offrate-limit-login
  • Built a token-bucket rate limiter and wired it into the login route, returning 429 with a Retry-After header.
  • Build is green, but the unit tests for the 429 path aren't written yet.
  • Heads-up: this also touched the retry policy in checkout/session.ts.
  • Next: add the 429 tests, then open a PR.

The workspace

A local workspace for serious Claude Code sessions.

Agent work is never just a prompt. It's a session, a branch, a diff, a terminal, a preview. Zurge gives all of it a home, not a scrollback buffer.

Grid mode

Watch several worktrees side by side on one screen, all running at once, like a madman.

New

Generate multiple plans, pick the best

Ask Claude for several plans from different angles, compare them side by side, and send the one you like best to build.

Vertical tabs

Every session and worktree, one keystroke away.

Remote control

Watch and steer every worktree from your phone over a secure relay. Answer prompts and send follow-ups while you are away from the desk.

»

Race mode

Run one task across several agents, keep the best result.

Live status

Working / waiting / needs review / done, at a glance.

Built-in voice

Local, private speech to text. No cloud, no API key.

Automatic worktrees

Every task runs in its own isolated git worktree, created and cleaned up for you. Run many in parallel without branches colliding.

Workflows

Save reusable prompts and run them with one click.

Drag-and-drop migration

Import your existing terminal setup and bring your Claude Code sessions over in seconds.

Fully customizable

Themes, keybindings, and layout. Make it yours, raw terminal one tab away.

The desktop app + the MCP

The desktop app for Claude Code. An MCP for everything else.

The full Zurge experience lives in the desktop app, built for Claude Code today, with support for more agents coming soon. For everything else, the Zurge MCP plugs into any tool that speaks MCP: your agent's plan becomes a review link you annotate and send straight back.

your agent writes a plan Zurge MCP a review link you annotate
terminal

Creator note

I built Zurge for myself. Claude Code got fast enough to do real work, but reviewing that work still meant scrolling a terminal log: rubber-stamping diffs I hadn't really read, and catching problems only once they'd already hardened into a PR. I didn't want the agent to do more on its own. I wanted to see what it was doing, steer it sooner, and trust the change before it shipped.
Rajat Kaushik
Rajat Kaushik
Creator of Zurge

Get started

See it on your own code in a minute.

Point Zurge at a repo and review your next task instead of rubber-stamping it. Free, local-first, and it uses the Claude login you already have.

curl -fsSL https://zurge.dev/install.sh | bash

Free for individual developers. macOS first. No credit card, no catch.

FAQ

Questions developers ask.

What is Zurge?

Zurge is a review layer for Claude Code. It turns the agent's plans, diffs, and tool output into a reviewable workflow, so you can question the strategy, inspect the implementation, and approve agent-written code before it ships.

Does Zurge replace Claude Code?

No. Claude Code is still the engine that writes the code. Zurge is the review layer around it: review the plan, inspect every diff, send feedback back, and approve before anything ships.

Does Zurge only work with Claude Code?

Today Zurge is built for Claude Code, where the agent workflow is most mature. Support for Codex, Cursor, and Gemini is coming soon.

Is my code uploaded anywhere?

No. Zurge is local-first and your code stays on your machine. The optional phone-remote and plan-share features only carry session text or the plan you choose to share, never your repository.

Do I need a new account or API key?

No. Zurge uses your existing Claude Code login. There is no Zurge account and no separate API key to manage.

How much does Zurge cost?

Zurge is free for individual developers.

Which operating systems does Zurge support?

Zurge is available for macOS first. Windows and Linux support is planned.