ZIRO BETA
DOWNLOAD
OPEN SOURCE · MIT · macOS & LINUX

YOUR AGENTS ARE ALREADY RUNNING. WATCH THEM WORK.

Ziro runs Claude Code and Codex side by side — each in its own git worktree, each in a genuine terminal — and puts the diff of what they changed one keystroke from the shell that changed it.

v0.1.0 · Apple Silicon · 5.6 MB · unsigned build, opens with right-click → Open
0
accounts required
0
bytes of telemetry
2
agent CLIs supported
100
% of it runs local
ZIRO 2 LIVE
src/auth/session.ts+12−4
@@ -84,10 +84,18 @@ export async function verify(token)
84 const claims = decode(token);
85 if (claims.exp < Date.now()) {
85 // Issuer clock ran ahead of this host.
86 if (claims.exp + SKEW_MS < Date.now()) {
87 throw new TokenExpired(claims.sub);
88 }
89 metrics.observe("auth.verify", t0);
90 return claims;
src
auth
session.tsM
tokens.ts
lib
git.ts
pty.tsA
package.json
1export async function verify(token: string) {2  const claims = decode(token);3  // Issuer clock ran ahead of this host.4  if (claims.exp + SKEW_MS < Date.now()) {5    throw new TokenExpired(claims.sub);6  }7  return claims;8}
TRY IT
01

THREE AGENTS.
ONE SCREEN.

Three CLIs running means three terminal tabs, no idea which one is blocked on you, and diffing by hand. Click a session — the room reacts.

Fix the flaky auth testsession/keen-lynx

    
02

NOTHING HERE IS
A SIMULATION.

No mocked terminal. No reimplemented git. No wrapper standing between you and your agent.

01
claude "fix the auth test" ● reading session.ts ● vitest --run auth ✓ 41 passed

REAL TERMINALS

A true PTY per session behind xterm.js. Full colour, full interactivity, your keystrokes go through. It is your CLI — not a log viewer wearing its clothes.

02
mainkeen-lynxamber-heronquiet-ibex

ONE WORKTREE EACH

Every session gets its own branch and checkout. Two agents never fight over one index, and neither of them touches the copy you are typing in.

03
+const SKEW_MS = 60_000; if (claims.exp < now) +if (claims.exp + SKEW < now)  return claims;

A REAL GIT SURFACE

Status, staged and unstaged diffs, history, per-commit diffs, branches, worktrees, stage and commit — straight from the git binary, with index locks respected.

04
Z Fix the flaky auth testlive Port the parser to v2live NEW SESSION

LIVES IN THE MENU BAR

Close the window and the agents keep going. The popover under the tray icon is drawn by Ziro, not by the system — same theme, same colours, real controls.

05
fix auth⌘K Fix the flaky auth test Default agent → Codex Stop 2 running agents

KEYBOARD FIRST

⌘K reaches every session, project and preference. The shortcut printed on a button is the shortcut that actually fires — nothing here is decoration.

06

TWO THEMES, BOTH DESIGNED

Every colour is a token. Light is not an inversion — it is its own contrast-checked palette, down to the syntax colours and the diff bars. Try the switch up top.

03

TYPE THE GOAL.
THAT'S THE RITUAL.

Three moves from an empty screen to a reviewed diff. There is no fourth.

  1. 01

    POINT IT AT A REPO

    Pick a folder. Ziro reads the branch, status and history with the git binary already on your machine. Nothing is imported, copied, uploaded or indexed.

    ziro-codemain qb-taskmain vidmcpdev
  2. 02

    DESCRIBE WHAT YOU WANT

    The goal you type becomes the agent's opening prompt. It is already working by the time you switch to its tab — no copy-paste, no re-explaining what you meant.

    CLAUDEWORKTREE⌘↵
  3. 03

    READ THE DIFF, NOT THE TRANSCRIPT

    When it stops, you do not scroll back through a log. You look at what changed, stage what is good, drop what is not, and commit from the same screen.

    +128−347 files
04

WHAT IT
REFUSES TO DO

  • No account. There is no sign-in, because there is no server to sign in to.
  • No telemetry. Nothing is measured, phoned home or "anonymously collected".
  • No copy of your code. Ziro reads the repo where it already sits, through git.
  • No lock-in. Delete it and your worktrees, branches and commits are still yours.
  • No fake terminal. If your CLI can do it in iTerm, it can do it here.
05

QUESTIONS
WORTH ASKING.

The ones that decide whether this belongs on your machine.

Does Ziro replace Claude Code or Codex?

No — it runs them. Ziro spawns the same binary you already have on your PATH, with your login, your config and your model settings. If you uninstall Ziro tomorrow, your CLI setup is untouched.

Does my code leave the machine?

Not through Ziro. It has no backend, no account and no network calls of its own. Your agent CLI talks to its own provider exactly as it does in a terminal — that is the only traffic there is.

What does "its own worktree" actually mean?

A real git worktree: a separate checkout on its own branch, sharing the same object store. Two agents can work at once without colliding on the index, and your own working copy stays exactly as you left it.

Does it work on Linux?

Yes — Tauri renders through WebKitGTK there instead of WKWebView. macOS is the platform it is built on day to day, so Linux reports and fixes are the most useful contributions right now.

Is it signed and notarized?

Not yet. There is no Apple Developer certificate on it, so the first launch needs an explicit allow in System Settings. That is the honest state of it — signing is on the list.

What does it cost?

Nothing. It is MIT licensed and free, and it does not resell anyone's tokens — you pay your agent provider directly, the same as you do today.

Can I add another agent CLI?

Yes. Agents are declared in one small table with a binary name and how to pass an opening prompt. If your tool takes a positional prompt, wiring it up is a few lines.

06

TAKE IT.
RUN IT.
OWN IT.

A 5.6 MB download, or a minute of build if you would rather read every line first.

01DOWNLOAD
  1. Open the .dmg and drag Ziro into Applications.
  2. Right-click Ziro → Open → Open. macOS asks once, because this build has no Apple Developer signature yet.
  3. If it refuses outright, clear the quarantine flag macOS put on the download: xattr -dr com.apple.quarantine /Applications/Ziro.app
  4. You also need git and at least one of claude or codex on your PATH. Ziro checks on first run and tells you what's missing.
SHA-256 checksums · release notes · macOS 11+
02OR BUILD IT
zsh — ziro
 git clone https://github.com/dhirajlochib/ziro-code
 cd ziro-code/apps/desktop
 bun install
 bun run tauri dev
   Compiling ziro-desktop v0.1.0
   ✓ Ziro is running

Linux builds from source today — the bundler emits .AppImage and .deb alongside the macOS .dmg.

OPEN ON GITHUB MIT · macOS 11+ · Linux (WebKitGTK) · Rust 1.94 pinned