Chorus

Code review by every AI.
Free for life.

Run Claude, Codex, Gemini, Antigravity, Kimi, OpenCode, and Grok against your code in parallel — through the CLI subscriptions you already pay for. Multiple reviewers, no extra bill — you're already paying for them.

See it in action
Apache 2.0 · Local-first · Your code stays on your laptop · Works with Claude · Codex · Gemini · Antigravity · Kimi · OpenCode · Grok

A real run, in 14 seconds

From a prompt to a review-ready PR.

Plan. Implement. Verify. Ship. Each phase runs in parallel across your reviewers — and they have to agree before the next one starts. (Three reviewers shown; bring as many as you like.)

CHORUS · LIVE RUN REVIEWING
$0.00 · 0.0s
Plan
Implement
Verify
Ship
Input
Synthesis
APPROVED

Driver · Claude writing
EDIT src/auth/middleware.ts +124 −41
ADD src/auth/validators.ts +89
EDIT tests/auth.test.ts +34 −22

Pull request
PR #142 Strengthen auth middleware · 12 files · +247 −63
Synthesis
READY TO MERGE

Pull request opened

PR #142 ready for review

Strengthen auth middleware · 12 files · 3 reviewers approved · click Merge in GitHub when you’re ready

12.4s · $0.18 / $3.00 cap · All gates passed

Why Chorus

No model can spot its own blind spots.

Same model writing and reviewing has the same blind spots. The fix is making different models grade each other.

More eyes catch more bugs.

Different training, different blind spots. Claude misses what Codex sees. Codex misses what Gemini flags. Run them together; the gaps shrink.

Use what you already pay for.

Claude Pro? ChatGPT Plus? Gemini? Chorus drives whatever you've authenticated. We never see your prompts and we never bill you.

Runs on your laptop.

Chorus is a binary on your machine. Not a SaaS, not a sidecar. Your code never leaves the disk it lives on. Nothing to sign in to. Nothing to leak.

Personas

Same model. Different lens. Different bugs found.

A persona is a worldview prompt chorus prepends to the reviewer. The same Claude run as Sentinel hunts injection holes; run as Cartographer it flags Windows path separators; run as Translator it reads your error messages like a confused user. One model, ten roles — pick the one this PR needs.

Sentinel

anthropic

Hunts secrets, injection, broken auth, supply-chain risk.

Conservator

openai

Catches when a change fights the existing pattern instead of joining it.

Cartographer

google

Windows / macOS / Linux assumptions, path separators, line endings, encoding.

Profiler

openai

N+1 queries, big-O cliffs, cold-path costs, latency budgets.

Translator

anthropic

Reads labels, errors, empty states, help text — for normal users, not engineers.

Accountant

anthropic

"Who pays for this, when, and is there bill shock?"

Concierge

anthropic

Time-to-first-success: install path, error legibility, docs alignment.

Quartermaster

openai

Every new dep — maintenance, license, transitive footprint, install scripts.

Inspector

openai

What's not tested but should be — and what's tested but worthless.

Librarian

anthropic

Reads README + marketing copy alongside the diff and flags every lie.

voices × personas × phases — pair any model with any worldview at any step.

Five voices × ten personas × four phases = two hundred distinct reviewer configurations. Mix yours per template; fork ours; build your own. Personas are just markdown files in ~/.chorus/personas/ — you can write a new one in a minute.

Get started

Three commands, three minutes.

Install the binary. Init detects your CLIs and registers MCP. Start brings up the daemon and cockpit. That's it.

1 Install
$ npm install -g chorus-codes

🎉 Chorus installed!

Two more commands to get going:
  ➡️  chorus init    register MCP, seed templates, detect CLIs
  ➡️  chorus start   bring up the daemon + cockpit on :5050

Install.

One npm command. No account, no signup, no cloud handshake. Chorus is a CLI that runs entirely on your laptop.

2 Init
$ chorus init

▶ Initializing Chorus…

   database ready at ~/.chorus/chorus.db
   seeded templates: architect-review,
    bug-diagnose, code-review, red-green

  Detecting orchestrators…
   Claude Code   MCP · auto-approved
   Codex CLI     MCP registered
   Gemini CLI    MCP registered
   OpenCode      MCP registered
   Kimi CLI          MCP registered
   Antigravity CLI   MCP registered
   Grok Build        MCP registered
   Cursor            not detected
   Windsurf          not detected

✓ Chorus initialized

Hook up your AIs.

chorus init finds the CLIs already on your machine and registers Chorus as an MCP server in each one. No keys to paste — Chorus rides on subscriptions you already pay for. Missing CLIs stay greyed out; install them later and re-run init.

3 Start
$ chorus start

✓ Chorus started  daemon PID 1234

   Cockpit  http://127.0.0.1:5050

Run a chorus.

chorus start boots a local daemon and the cockpit UI. Same engine, three doors: type chorus from the terminal, call it from inside Claude Code/Cursor via MCP, or open localhost:5050 in your browser. Pick whichever fits the moment.

Integrations

Bring the AIs you already pay for.

Sign in once with the CLI you already use. Add API keys for the rest. Three reviewers in parallel cost the same as one — because Chorus runs on your subscription, not ours.

Claude
via Claude Code
OpenAI
via Codex CLI
Gemini
via Gemini CLI
Kimi
via Kimi CLI
OpenCode
multi-LLM bridge
Cursor
via MCP
Windsurf
via MCP
Any MCP client
can call Chorus

Three reviewers, one bill. Yours.

Other multi-LLM tools route through their own paid APIs, so three reviewers means three times the bill. Chorus drives the CLIs you've already signed into, on the flat-rate plans you already have. The fourth reviewer costs nothing extra. So does the fifth.

What's inside

The patterns under the hood.

Two industry-standard multi-agent patterns. Two we packaged into a primitive. All four ship in the box — no glue code, no prompt-engineering homework.

Pattern 01
CANONICAL
"add validation"
Claude
Codex
Gemini
✓ VERDICT

Parallel reviewers.

All reviewers run at once against the same input. Three opinions in the time of one. A final pass distills them into a single verdict.

Pattern 02
CHORUS-FIRST
Claude(doer)
DRAFT
Codex
Gemini
OpenCode

Cross-lineage review.

The author is one model family. The reviewers are different families. Shared blind spots don't survive contact with a different brain.

Pattern 03
CANONICAL
Round 1
↻ retry
Round 2
✓ accept
3 reviewers threshold: 3 / 3

Threshold quorum, with retries.

If they don't agree, the next round starts with the disagreement on the table. Capped at maxRounds — converge or stop. Never spin forever.

Pattern 04
CHORUS-FIRST
Implementer sees
SPEC
FAIL NOTES
TESTS
WALL
Verifier sees
SPEC
TESTS
IMPL OUTPUT

Info-asymmetric red-green.

The implementer never sees the tests. The verifier runs them and reports failures in plain English. The model can't game what it can't read.

FAQ

The questions everyone asks first.

Straight answers. Still wondering about something? Open an issue on GitHub.

Does my code leave my laptop?

No. Chorus is a local tool. The daemon runs on your machine and talks to whatever CLIs you've already authenticated (Claude Code, Codex, Gemini, Kimi, OpenCode). On the free tier, your code, your prompts, and the model responses never touch our servers.

If you later choose to use bundled credits (v1.0+), only the prompts you explicitly route through credits go through our edge proxy — and even then, the proxy is stateless and never logs payloads.

How is this different from other multi-CLI orchestrators?

Most existing tools are CLI-only orchestration engines. Chorus is the polished product layer on top — a web UI, MCP server, cross-CLI driver-agnostic design, threshold-aware quorum, and info-asymmetric red-green flows. Same agent patterns underneath; very different surface for the user.

If you live in your terminal and don't want a UI, the bare-metal alternatives are great. Chorus is for people who also want a panel they can share with a teammate.

Will the free tier stay free?

Yes. Bring-your-own-CLIs is free forever. Paid options (bundled credits, hosted Pro/Teams) are purely additive — you never lose access to what's free today. The CLI orchestrator is also Apache 2.0 open source, so even if we vanished tomorrow, you could keep running it.

Does it work inside my editor?

Yes — Chorus exposes an MCP server, so any MCP-speaking tool can call it. Cursor, Claude Code, Windsurf, and any future client that speaks MCP. You call mm.create_chat from inside your editor and the synthesis comes back as a tool result.

What if a model gives bad code or messes up my files?

Two safeguards by default: (1) Chorus only writes to your filesystem during phases that are explicitly marked as "doer" — never during reviews or plans. (2) Every doer phase shows a diff and waits for approval unless you flip auto-approve on. If you turn auto-approve on, you've opted out of those gates.

Always commit before running. Chorus is open source, AS IS, no warranty. Like any AI tool, it can produce wrong or even destructive code. We're not liable for data loss — read the Terms for the full disclaimer.

Is it actually open source?

Yes. The CLI engine and daemon are Apache 2.0 — patent grant included, corporate-friendly, fork-friendly. Repo: github.com/chorus-codes/chorus.

The hosted SaaS layer (multi-tenant, billing, premium templates, marketplace) is proprietary — but you never need to use it.

Next ship

One email. The day v1.0 drops.

v0.8 is here — install it now and you're set. Subscribe for v1.0: We send it once. No drip campaign, no newsletter.

No spam. No reselling. One-click unsubscribe — but you only get the one email.