For developers using Claude Code, Codex CLI, Antigravity, or just a terminal

Ask several AI models at once. Get one list of everything they raised.

ai-consultants is a free, open-source command-line tool for design reviews, threat models and “what am I missing?” checks before a hard-to-undo change. It sends your question, and any files you name, to models from different companies (Gemini, GPT, Claude, Mistral and more) at the same time, then merges their answers into one list that shows which model raised each point.

Try it in two commands
npx ai-consultants configure# finds your model CLIs and keys · no model calls
npx ai-consultants "What can go wrong when a service retries failed webhook deliveries?"# asks every model you set up, then merges

You need Node.js, jq, and at least two model CLIs installed and signed in (or two API keys).

Each question makes one call per model plus one to merge, billed to your own accounts. Your question and files go to every provider on your panel.

Set it up in 3 steps ↓
You get back · report.md, 4 of 26 points

Outcome: MET (3/3 responded, quorum=2)

MET: enough models answered, and every point they returned is cited in the list.

Coverage Union · every distinct point, deduplicated

  • risk: Duplicate deliveries remain possible under at-least-once retry; deduplication and ordering responsibility is shifted onto the receiving consumer, which must be idempotent and tolerate concurrent delivery. — raised by Codex, Gemini, Mistral
  • edge_case: Outbound dispatchers remain exposed to SSRF and DNS rebinding on each retry (the target can re-resolve to a private IP) unless egress goes through a hardened proxy with private-range blocklists. — raised by Gemini (raised by only one model)
  • risk: Replay attack surface: retrying with retained, long-lived signatures lets a captured delivery be replayed against the receiver. — raised by Mistral (raised by only one model)
  • edge_case: An HTTP success response only confirms what the receiver contract promises, which may be acceptance rather than completed processing, so a 2xx can mask downstream failure. — raised by Codex (raised by only one model)

Raised by only one model. It stays in the list; nothing is voted out.

A real run on 21 Oct 2026 (ai-consultants 5.3.0 with Gemini, Codex and Mistral). It took about 2½ minutes; the video shortens the waiting. Read the full report.

One question in, one list out

  1. Ask
  2. Each model answers on its own
  3. One merged list
Your question and files go to Google Gemini, OpenAI Codex and Mistral, whose answers merge into one list. Claude is skipped when you run from Claude Code. Your question + files Google Gemini OpenAI Codex Mistral One merged list Claude: skipped when you run from Claude Code
  1. Ask

    Type a question in your terminal, or use /ai-consultants:consult inside Claude Code. Put file paths after the question. The tool reads them on your machine and saves an exact copy of what it sent as context.md.

  2. Each model answers on its own

    The question goes to every model on your panel at the same time. Each answers once without seeing the others, so there are no debate rounds pulling everyone toward the majority view. Each also gets a different brief (the Architect, the Pragmatist, the Devil's Advocate and so on) so they don't all come at it the same way. Run it from Claude Code and Claude sits this one out: you already have its view.

  3. One merged list

    One more model call merges the answers into a single list of every distinct point, each tagged with who raised it, plus a recommended approach and a risk table with severities and mitigations. A check on your machine then reports whether every finding the models returned is cited somewhere in the merged list (MET, DEGRADED or FAILED) and how many models answered. If a model failed, the report names it and gives the real reason, such as “CLI not found” or “401 Unauthorized”. It checks the bookkeeping, not the content: it can't tell you whether the merged wording is faithful or whether the points are true.

Advice only. The models don't run your code or tests, and nothing in your project changes.

Use it when you want everything listed, not one verdict

Different models often raise different points. That helps most when the job is to list things: risks, edge cases, attack paths, alternatives. It helps little when there's one right answer to find.

Use it for

  • Design review before you build"What could go wrong with this webhook-delivery design?" src/webhooks.ts
  • Threat modeling"Enumerate the ways an attacker could abuse this JWT validation." src/auth.ts
  • “What am I missing?” before a risky change"Which edge cases does this zero-downtime Postgres migration plan miss?" docs/migration.md
  • Alternatives you haven't considered"What are the alternatives to polling for this sync job, and what does each trade off?"
  • Choices that are hard to reverse"Event log or mutable relational state for this billing service?"Add --strategy compare_only to see the answers side by side, with no merged pick.

Skip it for

  • Questions with one right answer, like a flag, an API detail or syntax. One model is enough.
  • Finding the bug in a short piece of code. In our bug-finding test, one strong model found all 19 planted bugs on its own.
  • Checking that an answer is correct. It doesn't run your code or tests, and models agreeing isn't proof.
  • Code you're not allowed to send to several outside companies.
  • Every commit or a CI check. A run makes several paid calls and usually takes minutes.

What we've measured, and what we haven't

Two small internal tests, not a published benchmark: a direction, not proof. On three open-ended tasks (list the risks and edge cases), the merged list covered clearly more items on a reference checklist than one model alone, and more than one model asked several times. In a separate bug-finding test, one strong model already found all 19 planted bugs, so the panel added nothing. We haven't shown that a panel is more accurate than one strong model, and we don't claim it.

Uses the tools and accounts you already have

Run it from

  • your terminal (macOS or Linux; Windows through WSL)
  • Claude Code (slash command)
  • Codex CLI and Antigravity (as a skill)
  • Cursor, GitHub Copilot and Windsurf through SkillPort, a separate npm tool that installs skills into those editors

Models it can ask

  • Google Gemini
  • OpenAI (Codex)
  • Anthropic Claude
  • Mistral
  • Moonshot Kimi
  • Alibaba Qwen
  • xAI Grok
  • MiniMax
  • Zhipu GLM
  • DeepSeek
  • Meta Muse

Pick any two or more. Most are reached through that company's own command-line tool, signed in with your account; GLM and DeepSeek need an API key and are off until you add one; Meta is off until you install its Muse Code CLI or add a key. ai-consultants doesn't sell model access: each company bills your usage to you. Current model versions are listed in the README.

Independent open-source project. Not affiliated with or endorsed by any of these companies.

Cost, time, and where your code goes

Cost
One call per model plus one to merge, and a failed call may be retried up to twice. Calls through a signed-in CLI count against your plan with that company; API keys are billed per use. Every run prints an estimated cost when it finishes, using the rates in docs/COST_RATES.md. Estimates aren't invoices, and models billed by plan or credits are left out (the run says so). A spending cap based on the tool's own estimates is off by default: set ENABLE_BUDGET_LIMIT=true, MAX_SESSION_COST=0.50 and BUDGET_ACTION=stop. It can't see usage billed by plan or credits. Asking the same question again within 24 hours reuses saved answers.
Time
The models answer in parallel, so you wait for the slowest. Expect a few minutes, longer with heavy reasoning models. There's no time limit by default, and every 30 seconds it prints who it's still waiting for. To stop waiting, touch <results folder>/.proceed merges the answers already in; .abort ends the run. A call you stop may still be billed.
Privacy
Your question and every file you name go to each provider on your panel, under that provider's terms. ai-consultants has no server of its own. context.md shows exactly what went out. If your code can't leave your company, don't point it at that code, or limit the panel to providers you're cleared to use.

Set up once, then ask

Setup takes about a minute if two model CLIs are already installed and signed in (longer if you need to set them up). Each question then takes a few minutes.

You need

  • macOS or Linux (Windows through WSL), Node.js, and jq, curl and bc. macOS: brew install jq · Debian/Ubuntu: sudo apt-get install -y jq curl bc
  • At least two model CLIs, installed and signed in with each tool's own login, or API keys. Three to start with:
    Gemini
    curl -fsSL https://antigravity.google/cli/install.sh | bash
    then run agy once to sign in (or set GEMINI_API_KEY)
    Codex
    npm install -g @openai/codex
    then sign in with codex login (or set OPENAI_API_KEY)
    Mistral
    pip install mistral-vibe
    then set MISTRAL_API_KEY from the Mistral console

Terminal

  1. npx ai-consultants configure

    Finds the CLIs and API keys you have, turns on only those, and saves your settings to ~/.config/ai-consultants/.env, readable only by you. No model calls.

  2. npx ai-consultants doctor

    A free check of your setup. Add --live to send one tiny, billed test message to each model and confirm you're signed in.

  3. npx ai-consultants "Which edge cases does this migration plan miss?" docs/migration.md

    Your question, then the files to look at. The last line printed is your results folder; open report.md inside it.

Claude Code

curl -fsSL https://raw.githubusercontent.com/reasance/ai-consultants/main/scripts/install.sh | bash

Installs the skill and its slash commands for Claude Code.

npx ai-consultants configure

Same setup step as in the terminal. No model calls.

Then, inside Claude Code:

/ai-consultants:consult "What could go wrong with this design?" src/webhooks.ts

Claude is left out of the panel and the merge automatically.

Using Codex CLI or Antigravity instead? They load ai-consultants as a skill your agent can call, with no slash commands, and the installer above doesn't set them up. The setup guide shows where to link it. In Codex, approve network access when asked.

Watch for typos: any first word after npx ai-consultants that isn't one of its commands (configure, doctor, init, install, update-clis, version, help) is read as a question and starts a real, billed run.

Other ways to install (SkillPort for Cursor, Copilot and Windsurf; git clone; standalone Bash) →

Questions developers ask first

Why not just ask my own agent?
For a question with one right answer, do. Your agent is one model with one set of habits. Models from other companies, each asked once and separately, often raise points it didn't, and the list shows you which. That's most useful when you're trying to list everything that could go wrong. You still decide what's right.
Is it more accurate than one strong model?
We haven't shown that, and we don't claim it. Two small internal tests found a gain when listing risks and edge cases, and none when hunting planted bugs. The panel shows what several models say and where they agree, and agreement isn't correctness.
Does it vote on one answer?
No. By default it keeps every distinct point and notes who raised it, so a point only one model made isn't averaged away. --strategy compare_only puts the answers side by side with no pick. Other merge styles, including one blended recommendation, are in the docs.
Which models answer, and can I choose?
By default, every model you've set up; you need at least two, or the run won't start. Pick them with npx ai-consultants configure --interactive, or use a mode: --mode fast-check (Gemini and Codex, in cheaper versions), --mode coverage-review (Gemini, Codex and Mistral) or --mode max-coverage (the widest panel at the highest model tier; slowest and most expensive).
Can I use GPT-6.1 Terra?
Yes. Version 5.7.0 adds it as an optional Codex model: set CODEX_MODEL=gpt-6.1-terra in your configuration. Terra remains opt-in. Version 5.8.0 refreshes the Claude and OpenAI tier choices following the AA v5 review; explicit effort settings still win. Leave the effort unset to keep the transport default, or choose low through max; API mode also accepts none. See the v5.8.0 release notes and pricing and configuration details.
What does a run cost?
One call per model plus one to merge, billed to your own accounts, and a failed call may be retried up to twice. Every run prints an estimated cost when it finishes. Asking the same question again within 24 hours reuses saved answers.
Where do the results go?
To a folder under ~/.cache/ai-consultants/consultations/. It holds report.md, one JSON file per model with its full answer, synthesis.json with the merged list, and context.md with exactly what was sent. Inside Claude Code, the command also shows a summary of the same report.
Does it change my code or run anything?
No. It's advice only: the models don't run your code or tests, and nothing in your project changes. You decide what to do with the list.
Everything else (modes, presets, merge strategies, model tiers, budgets, routing) is in the configuration reference →