In a chat
Driven over the Agent Client Protocol, so you see each agent's own models, effort, modes and approvals.
Claude Code
Codex
Qwen Code
- Models
- Effort
- Modes
- Approvals
- Questions
- Plans
- Diffs
- Rewind
- Fork
- Resume
Claude Code, Codex, Qwen Code and the agents of the ACP registry in one native Mac app. Work with one, or send one prompt to four and keep the best. No lock-in, no API keys.
Free and open source under Apache 2.0, for Macs with Apple silicon or Intel. Zorvo updates itself, and brings Node.js when an agent needs it.
Selected lines are tinted now, with Add lines under them. It inserts the path, the range and the lines, fenced in the file's language.
pnpm vitest run src/test/line-quote.test.ts
agents
Zorvo runs each agent that speaks ACP as a real chat, with its own models, modes and approvals. Add any other agent from the ACP registry in Settings.
Driven over the Agent Client Protocol, so you see each agent's own models, effort, modes and approvals.
Add any registry agent in Settings. Zorvo installs it, plus Node.js or uv when it needs them, and checks every download against its SHA-256 hash.
New versions are offered a week after they are published.
Each agent reports its own models and modes, so Zorvo offers whatever your install has. Agent names belong to their makers; Zorvo works with them and is not endorsed by them.
compare
In a git repository, tick up to four agents on a new session and send them the same prompt. Each works on its own, and you choose whose changes stay.
Every agent gets its own copy of the repository on its own branch, in the safest mode it has, so none of them edits your checkout or another agent's files.
The composer shows one model chip per agent. Zorvo asks an agent for its models only when you open its chip.
Read each agent's changes, answer its permissions from the run, then Pick. Zorvo asks first, stops and archives the others, and keeps their worktrees.
Each agent runs on its own sign-in and uses its own quota.
How a compare run workscontrol
Permission requests arrive with the agent's own choices. Its plan stays in sight, and every step it took is in its activity.
Deny, always allow or allow once, as the agent offers, with the files an edit touches and their changed lines. Each session starts in the safest mode its agent has, and a mode that skips approvals carries a shield.
The agent's plan shows as 2/4 beside the session's title. Open it to see which step runs now.
Each running shell command and subagent gets its own row, with how long it has run. Open one, or stop it.
The Activity tab lists the files, commands and permissions the agent reported, with a jump to each in the chat. Files git shows as changed that the agent did not report are listed apart.
The composer reads 38% of context, turns amber from 80%, and opens the numbers behind it.
review
Every change the agent makes waits in a diff you can read, comment on and send back in your next message.
In the full review or the inspector's Changes tab. Add puts each comment in your message with its file, line and the line itself, for you to read and edit before Send.
It stays on the line it was written on. When the agent changes that line, the comment reads Outdated instead of jumping to similar code.
Select text in a reply and press Reply, or select lines in the file view and add them to your message.
Commit the files you tick. The top bar shows the branch's pull request and its state, read with your own gh.
features
Sessions, worktrees, a terminal, files and diffs sit around the agent, never in its way.
Its real modes and models, permission requests with its own choices, its questions, slash commands and context use. Sessions resume after a restart.
Models, modes and other settings each get a chip with the agent's own description: Codex's Plan mode, Claude's fast mode, Gemini's models. What does not fit goes under ⋯.
Pick an agent and click Install. Zorvo brings Node.js or uv when it needs them, and you can write your first message while it installs.
The Agents menu and Settings show Ready, Sign in or Not checked for each agent. Its own login, or Qwen Code's own setup, runs in a terminal in the app, and your message is sent once you are signed in.
Tick the agents you'll use, pick a project folder and press Start. Signing in waits for your first session.
Each session reads its agent and what it does: Working, Waiting for you, Finished, unread. A folded folder still says 1 waiting. Hide the sidebar to give the chat the room.
Changes, Activity, Files and Terminal in one panel beside the chat. Drag it wider; its shells keep running when you switch tabs or close it.
The Files tab marks what changed. Click a file to read it with its changed lines marked, and add the lines you select to your message.
Start from the branch you pick, or turn on New worktree to give the session its own copy on an agent/<title> branch.
Fork any reply into a new session. Or rewind to before one of your messages and send it again, edited.
A failed turn says what happened in plain words, with Try again. An agent that has sent nothing for a while gets a notice with Stop, and a message that did not reach the agent comes back to its box.
A card offers Update & restart and says what a restart would stop, such as 2 agents mid-turn. Zorvo checks the update's signature before it installs it.
privacy
Zorvo sits between you and your agents and keeps nothing for itself.
Zorvo never asks for or stores API keys or tokens. Agents sign in with their own tools, even when the login runs inside Zorvo, and GitHub goes through your own gh.
Zorvo reads the ACP registry and, shortly after it starts and then about once a day, asks GitHub whether a newer Zorvo exists. Only when you click Install does it fetch that agent's hash-checked download, plus Node.js or uv if it needs them, and only when you click Update & restart does it download a signature-checked update. No telemetry, and no requests from the window.
Sessions, transcripts, worktrees and installed agents live in one folder you can open in Finder.
The backend reads and runs only in folders you opened in the app. What you type in an agent's form is never saved.
Download Zorvo, open a folder and pick the agent you already use. Zorvo installs the rest, and keeps itself up to date.
The build is not signed yet. The first time you open it, allow it in System Settings, Privacy and Security.