Open Beta v4.9.3 macOS Windows Claude Code · Cowork · Desktop

amicus curiae (n.) — one who is not a party to the case, but is permitted to advise it.

Friend of the court.
Several, actually.

A multi-model AI council and ad-hoc sidecar, with Claude as orchestrator.

$ npm install -g amicus $ amicus setup copy
Docs
Amicus LLM Council: three convenings — the third seats a local model (Qwen2.5-Coder on-device via Ollama) alongside cloud peers; same ritual whether the bench is checking your work or doing it: independent passes, anonymous cross-review, chair synthesis ROUND TABLE Gemini 3 Pro anon-1 Llama 4 anon-2 Grok 4 anon-4 Claude Opus anon-5 GPT-5 anon-3 CHAIR DeepSeek R1 anon-1 Mistral Large anon-2 Qwen 3 anon-3 Gemini 3 Pro anon-4 CHAIR Claude Opus anon-1 Qwen2.5-Coder 7B anon-2 LOCAL Gemini 3 Pro anon-3 GPT-5 anon-4 CHAIR VERDICT — 5–0: race condition confirmed synthesized by the chair · folds back into Claude ANSWER — 2–2: split · two viable rollouts dissent preserved · folds back into Claude VERDICT — 4–0: ship · local + cloud agree on-device seat included · folds back into Claude 01 · independent passes 02 · anonymous cross-review & ranking 03 · the chair synthesizes one result

Three convenings. Different seats, different chair, different work.
The ritual doesn't change — and a model on your own machine is a full member.

Why more than one

One model can't catch
its own blind spot.

Asking Claude twice gets you the same answer twice. Asking four models from four different families gets you the disagreement — which is the part worth reading.

Different families, different blind spots

Models trained alike miss alike. A bench that mixes Gemini, GPT, DeepSeek, and a local Llama doesn't fail in unison.

Dissent is the finding

Two reviewers pass your auth refactor; the third catches session fixation. Amicus adjudicates that split and surfaces it — instead of averaging it into nothing.

Claude doesn't grade its own homework

Claude wrote the plan, so a non-Claude model chairs the vote and writes the verdict. Claude keeps the room in order — it never sits as judge.

How it works

Give the work
to a group.

Anything you'd hand a colleague — check my plan, write the migration, choose between these two designs. They work it independently, rank each other's answers without knowing whose is whose, and one result comes back with the disagreements still in it.

01

You ask, in a sentence

In Claude Code or Cowork. Amicus picks up the material and your whole session — no exporting, no pasting.

02

Every model reads it cold

Same doc, same criteria, same context. No reviewer sees another's work while writing their own.

03

They grade each other blind

Reviews swap hands with the bylines stripped. Models rank the argument, not the reputation.

04

A non-Claude chair signs it

One ranked document — what they agreed on, what split them, what only one of them saw — folded straight back into Claude's context.

“council review this”

You hand them your work. They tell you what's wrong with it — every defect tiered by how many seats confirmed it.

CONFIRMEDSession fixation — token not rotated on login3/3
CONTESTEDRetry loop can double-charge on timeout2/3
SINGLETONMissing index on sessions.user_id1/3
VERDICT: Ship it · Fix these first · Fundamental rethink
“have the council work this out”

You hand them the problem. They do the work — and the claims the answer rests on get tiered exactly the same way.

CONFIRMEDBlue-green is viable at this cluster size3/3
CONTESTEDFlags can stand in for the canary stage2/3
SINGLETONBackfill should finish before cutover1/3
ANSWER: Converged · Split · Insufficient

Either way what comes back is not three opinions. It is one account of what they agreed on, what split them, and what only one of them saw — and the tiers report peer concurrence, never verification. Three models agreeing are still three models agreeing.

~5–8 model calls per council cost estimated before anything runs hard budget cap 2+ seats, any lineup usually cents, not dollars
The lighter mode

Don't need a whole council?
Fork one model.

Sometimes you just want a second pair of eyes. Name a model and Claude hands it the conversation — your full context already loaded, so there's nothing to re-explain. Work alongside it, then say fold and a structured summary flows back into Claude.

You don't type a command. You just ask.
Amicus, see what DeepSeek thinks about this.
Ask Gemini whether this migration is risky.
Fork this to GPT and let it work in parallel.
Name any model and Amicus picks it up — no flags, no syntax to remember. Say fold when you're done and the findings come home.
CLI, if you'd rather: amicus start --model gemini
Powered by OpenRouter

One key.
Every model.

A single OpenRouter key puts 200+ models on tap — Google, OpenAI, Anthropic, xAI, Meta, DeepSeek, Mistral, Qwen — with routing, fallback, and billing already handled. They even publish free variants, so your first council can cost nothing at all.

That's what makes a real council practical. Swapping DeepSeek for Qwen is a word change, not a procurement exercise. Want seven seats from seven different families? You already have them. OpenRouter does that heavy lifting — Amicus just seats the table.

200+ models every major provider one invoice free variants → a $0 council
OPENROUTER_API_KEY ••••••••••••••••
gemini gpt claude deepseek grok mistral llama qwen +200 more
free variants available $0.00

Already have your own keys? Direct Google, OpenAI, Anthropic, and DeepSeek keys work exactly the same — and local models via Ollama or LM Studio need no key at all.

Get started

Two commands.

One installs the CLI, both Claude skills, and the MCP server. The other adds your keys. Amicus can't reach a model until amicus setup has run.

$ npm install -g amicus $ amicus setup copy
Amicus itself is free and open source. You pay your provider for tokens. A full council is typically ~5–8 paid model calls — 3 reviewers across 2 waves, plus the chair — usually cents, and Amicus quotes the estimate before it spends anything.
  • Node.js 22.12+ — run node --version to check.
  • An active Claude Code, Cowork, or Claude Desktop session — Amicus is orchestrated by Claude. It is not a standalone chatbot.
  • One OpenRouter key — that's the whole key requirement. See above for the direct-key and local-model alternatives.
Everything else

The short version.

Amicus does more than fits on one page. Here's the rest in a line each — and fifteen of them drawn out if you'd rather see than read.

Model names stay currentNo frozen model table — aliases resolve against a live catalog, so an alias that 404s today gets caught in the check, not mid-council.
Local seats are full membersRun Llama or Qwen on your machine: same prompt, same vote, $0.00, nothing leaves the box.
Never degrades silentlyA seat dies mid-run and the CLI exits 2, the verdict flags degraded, and the report wears a banner.
Your MCP tools travelConfigure a server once in Claude Code and every seat picks it up — including the local ones.
Watch it thinkA live workspace shows seats reporting in, phases advancing, and cost ticking per model. Finished runs replay.
Pick the thread back upRe-run last week's findings after you've rewritten, and watch them flip from red to green.
Parallel waves"Ask Gemini, GPT, and Grok the same thing" — one shot, every answer, no ritual. Results arrive as a single document.
Claude can spawn a crewSeveral Amicus instances at once — one on architecture, one on security, one on tests — each working headless, all folded back.
Ship gatePut a council between your pipeline and the tag. Exit 0 ships; exit 1 sends it back.
Windows first-classBuilt and tested on Windows 11, no WSL. macOS and Linux too. Built on OpenCode.
See it in practice → Full documentation →

Stop deciding on
one model's opinion.

Install in 30 seconds. Convene your first council in one sentence.

$ npm install -g amicus $ amicus setup copy
GitHub