Are you the author? Sign in to claim
Run your Claude Code agents as a real team — your editor session is the lead. Specialist agents message each other, deba
Run your Claude Code agents as a real team.
Named specialist agents that message each other, debate, converge — and report back to you —
each one a full Claude Code session, visualized live on a desktop canvas.

Real capture, not scripted: the Team Lead (a normal Claude Code session in the editor) dispatches one task to three automotive agents. They negotiate the split among themselves — you can watch each agent's live terminal — then each reports its own slice back.
Quorum does not use the Anthropic API and never asks for an API key. Every agent is a real claude session started through the official Claude Agent SDK, authenticated by the Claude Code login you already have. If you have a Claude subscription that runs Claude Code, you can run a whole team of agents at no extra cost beyond your plan's usage limits.
Claude Code subagents are fire-and-forget child tasks: they can't talk to each other, and you can't talk to them while they work. Quorum flips the model:
| 🧠 External Team Lead | Your editor's Claude Code session drives the team over a local MCP bridge (ask / roster / replies). The lead's block glows when it's working — brighter when it's actively driving the team. |
| 🖥️ Per-agent terminals | Pop out a live terminal for any agent — its full traffic stream, tethered to its block with a curved connector that glows while the agent works. Each terminal has its own composer for one-on-one conversation. |
| 🎯 Mode-aware delivery | How you address the team decides who answers. Plain text → group task for everyone. @agent → that agent answers you directly. Select several blocks → a coordinated group task where each participant answers exactly once, enforced by the bus, not by prompt hopes. |
| 🛒 377-agent marketplace | Ready-made specialist agents (see credits) searchable across every field; "add to team" spawns a live session. Teams cap at 5 agents. |
| 📝 Team memory | Agents record decisions (PROPOSE / OBJECT / ACCEPT) to .quorum/decisions.jsonl; new sessions spawn with a digest of the last decisions and open tasks, and can query the rest on demand. |
| 🗂️ Task board | add_task / claim_task / complete_task with atomic claims — two agents can't grab the same work. |
| ⏹️ ESC interrupts | One key aborts every busy agent's in-flight turn via the SDK's documented interrupt(). Queued messages survive. |
| 🎛️ Per-agent tuning | Double-click a block: switch model (haiku / sonnet / opus / …) and permission mode (read-only / ask-to-write / auto). Model changes restart via --resume, keeping history. |
| 💾 Per-project persistence | Open Quorum on any project folder; its team, layout, decisions, and tasks live in that project's .quorum/. Reopen and continue where you left off. |
| 🏷️ Truthful activity labels | "messaging safety-engineer…", "replying to the user…", "reporting to the lead…" come from actual delivery outcomes on the bus — never guessed from tool intent. |
Agents negotiate ownership among themselves (OBJECT/ACCEPT), each in its own live terminal — running haiku, sonnet, and opus side by side.
flowchart LR
subgraph editor["Your editor / CLI"]
L["Claude Code session<br/>(the Team Lead)"]
end
subgraph app["Quorum desktop app"]
B["MCP bridge<br/>127.0.0.1:8484"]
Q["Message bus<br/>FIFO queues · turn budgets · delivery rules"]
A1["agent session"]
A2["agent session"]
A3["agent session"]
end
U["You<br/>(composer)"] --> Q
L -- "ask · roster · replies" --> B --> Q
Q <--> A1
Q <--> A2
Q <--> A3
Quorum itself never calls a model. It transports and visualizes messages; all intelligence lives in your Claude sessions. The rules that matter — reply budgets, queuing, delivery guarantees — are enforced in the application layer, not written into prompts and hoped for.
Prerequisites: macOS (developed there; npm start is portable), Node 24+, and Claude Code installed and logged in (claude on your PATH).
git clone https://github.com/birol91/quorum-agents.git
cd quorum-agents
npm install
npm start
@agent-name targets one; select several blocks to task exactly that group.Connect your Team Lead (optional, and the best part). In the project where you run Claude Code:
claude mcp add --transport http quorum http://127.0.0.1:8484/mcp
Then just tell your editor session things like "split this refactor across the team and collect their findings" — it will use the bridge's ask / roster / replies tools, and you'll watch the whole conversation play out on the canvas.
| You write | Who gets it | Who answers you |
|---|---|---|
| plain text | every agent, as a group task | each agent, exactly once, from its own specialty |
@one-agent … | that agent | that agent, directly |
| select 2+ blocks, then send | exactly those agents | each selected agent, exactly once |
| via Team Lead (bridge) | whoever the lead decides | the lead, with a synthesis |
The 377-agent catalog bundled in .claude/agents/ is generated from three excellent MIT-licensed collections. All credit to their authors — Quorum only repackages the prompts with marketplace metadata:
| Source | Agents | What |
|---|---|---|
| wshobson/agents | 126 | The classic Claude Code subagent collection — engineering, cloud, data, security, SEO, business |
| im-hashim/automotive-claude-code-agents | 241 | Deep automotive software engineering — AUTOSAR, ISO 26262, ADAS, EV systems, cybersecurity |
| anthropics/financial-services | 10 | Anthropic's financial-services agent examples |
Regenerate or extend the catalog with scripts/import-agents.mjs.
--resume. No PTY automation, no transcript scraping, no state inference — if the answer to "how do we know this?" would be "we guessed from a side channel," the design is rejected.npm test # unit tests (bus mechanics, decisions, tasks, team)
npm run typecheck # strict TypeScript
npm run dev # vite + electron with hot renderer
npm run package:mac # build a DMG (electron-builder, arm64)
MIT © birol91
Quorum is an independent open-source project built on the official Claude Code CLI and Agent SDK. It is not affiliated with or endorsed by Anthropic; "Claude" is a trademark of Anthropic, PBC. Bundled marketplace agents remain under their original MIT licenses — see credits.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows