v0.1.6 is outSee what changed

Run every coding agentat once. Keep the best.

ZLI puts Claude Code, Codex, Droid, Gemini CLI and six more agents side by side in one window. Each one works in its own Git worktree and terminal, so they never step on each other. You compare what they did and merge the one you want.

Free and open source under MIT. Windows, macOS (Apple silicon), and Linux.

Bring the agents you already use

ZLI runs the agent CLIs installed on your machine with your own accounts. Sign in to more than one account per CLI and pick one per agent.

01A worktree per agent

Four agents, one repo, no collisions.

Every new agent can start on its own branch in its own Git worktree. They edit the same project at the same time, and none of them can see the others’ half-finished changes.

  • A zli.json in your repo copies files like .env into each new worktree.
  • Setup commands run in their own terminals, and only after you approve them.
  • Terminals belong to a background daemon, so they survive a window restart.
mainzli/checkoutzli/cart-testzli/dark-modezli/docs
zli.json
{
  "version": 1,
  "worktree": {
    "copy": [".env", "apps/web/.env.local"],
    "setup": ["pnpm install --frozen-lockfile"]
  }
}

02Best of N

Ask once. Get up to four answers.

Send one message to two, three, or four agents. Each run gets its own worktree. When they finish, compare the results side by side and keep the one you like. ZLI deletes the rest, worktrees and branches included.

PromptAdd a coupon field to checkout and validate codes on the server.
Runs
Run 1Done
Claude CodeOpus 5.5
zli/coupon-run1
  • src/checkout/CouponField.tsx+48−3
  • server/routes/coupons.ts+61−0
  • src/checkout/summary.ts+12−7
Checks
14 / 14
Cost
$0.42
Time
4m 12s
View diff
Run 2Done
CodexGPT-5 Codex
zli/coupon-run2
  • src/checkout/Coupon.tsx+39−5
  • server/api/coupon.ts+44−0
Checks
14 / 14
Cost
$0.31
Time
3m 48s
View diff
Run 3Done
DroidSonnet 4.5
zli/coupon-run3
  • src/checkout/CouponField.tsx+52−4
  • server/coupons/validate.ts+70−0
  • server/coupons/validate.test.ts+38−0
  • src/checkout/summary.ts+9−2
Checks
12 / 14
Cost
$0.37
Time
5m 03s
View diff

All 3 runs have stopped. Pick the one to keep.

03Review and merge

Read the diff before it reaches main.

Changes lists every file an agent touched with its line counts. Leave a note on a line and the agent picks it up. When it looks right, commit, push, open a pull request, or merge the worktree back into its branch.

  • Stage, discard, and stash without leaving the panel.
  • Create, switch, rename, and delete branches.
  • See pull request checks right next to the diff.
Changeszli/checkoutCommitMerge into main
Msrc/checkout/CouponField.tsx+48−3
Aserver/routes/coupons.ts+61−0
Msrc/checkout/summary.ts+12−7
2121 const [code, setCode] = useState("");
22- const valid = code.length > 0;
22+ const { data, isFetching } = useCoupon(code);
23+ const valid = data?.status === "active";
Your note

Debounce this so we don’t call the server on every keystroke.

2324 return (

Everything else you need is in the same window.

A browser for each worktree

A built-in Chromium panel opens your dev server per worktree. Agents can open pages in it and test them too.

Integrations and MCP

Connect GitHub, Linear, Vercel, and Supabase, add any MCP server, and install Claude Code or Codex plugins. Every agent ZLI starts can use them.

Skills, prompts, and issues

Share skills and saved prompts across agents. Type / to insert one. Start work straight from a GitHub or Linear issue.

Permissions you choose

Read only, Auto, or Full access, set per agent from the composer. Setup commands from zli.json always ask first.

Terminal or chat

Each tile switches between the agent’s real terminal and a clean chat view with model and reasoning pickers.

Updates itself

ZLI checks GitHub Releases on start and every four hours, then shows what changed after it updates.

Built for the keyboard.

Every action has a shortcut, and you can change all of them. Try CtrlK on this page.

  • Command paletteCtrlK
  • New agentCtrlN
  • Go to fileCtrlP
  • Terminal drawerCtrlJ
  • ChangesCtrl⇧G
  • Send as Best of NCtrl⇧↵

04Download

Get ZLI for your computer.

Install and sign in to at least one agent CLI first. ZLI finds the ones you have.

macOS

Apple silicon

Download .dmg

ZLI-0.1.6-mac-arm64.dmg

Not notarized yet. On first launch, right-click ZLI in Applications, choose Open, then confirm Open.

Windows

x64

Download .exe

ZLI-0.1.6-win-x64.exe

Not code signed yet. If SmartScreen warns you, choose More info, then Run anyway.

Linux

x86_64

Download .AppImage

ZLI-0.1.6-linux-x86_64.AppImage

Run chmod +x on the file, then open it.

Build it yourself

Needs Node.js 24, pnpm 10 through Corepack, and Git.

$ git clone https://github.com/RosMengHeang/ZLI.git && cd ZLI
$ corepack enable
$ pnpm --dir v2 install --frozen-lockfile
$ npm run dev

Put your agents to work.

Free, open source, and running on your own machine.