docs

Install & use crosscheck

crosscheck is a multi-LLM orchestration MCP server you run on your own machine. It fans structured patterns across Anthropic, OpenAI, Google, and xAI using your API keys — which never leave your machine.

Install in Claude Code (recommended)

Paste this command into the Claude Code chat — it’ll run it for you — or run it yourself in any terminal:

$npx -y crosscheck-cli@latest install

It’s a normal npm package, so nothing needs to know about crosscheck in advance — you can also tell Claude Code run npx -y crosscheck-cli@latest install.

That one command:

  • Registers the crosscheck MCP server in Claude Code at user scope (every workspace).
  • Opens your browser to sign in, accept the agreement, and subscribe.
  • Walks you through your provider keys — stored locally on your machine, never sent to us.
  • Verifies the setup.

When it finishes, reconnect MCP servers in Claude Code (or restart it) and ask it to “use crosscheck to confer on …”. Requires Node 20+.

Requirements

  • Node.js 20 or newerthe installer runs on Node — check with node -v, or get it at nodejs.org
  • VS Code + the Claude Code extensionthe recommended host; crosscheck also works in any MCP client or a plain terminal
  • A Google accountto sign in and tie the install to your seat
  • At least one provider API keyAnthropic, OpenAI, Google, or xAI — your keys, stored locally, never sent to us (note: xAI keys need credits/billing on your xAI account before they work)
  • A payment method$20 / seat / month through Aug 2026 — first month free with code WELCOME100. See /pricing for current rates
  • macOS, Linux, or Windowskeys are saved in an encrypted file on your machine (no password); your OS keychain is an optional alternative

What you get

A panel of LLMs — Anthropic, OpenAI, Gemini, and Grok — exposed as MCP tools you call from Claude Code. The headline patterns:

  • confer — ask the panel the same question in parallel.
  • debate — bounded multi-round back-and-forth with a synthesized result.
  • audit — score output against a rubric, single- or multi-judge.
  • plan — collaborative planning across models.
  • create — scope → build → review → audit, end to end.

…and 20 more — see the full command reference below.

Fable 5 reasoning upgrade & per-model spend

The reasoning tools — plan, solve, debate, orchestrate, audit, triangulate — can bump their lead reasoning seat to Fable 5, Anthropic’s newest thinking model, instead of the default Opus 4.8. Only that one seat is upgraded — the panel debaters, critics, and workers stay on their normal models — so you get premium reasoning where it counts without paying for it everywhere.

  • It offers when it matters. When crosscheck judges a task reasoning-heavy, Claude Code asks if you want to bump to Fable 5 — it never spends the premium model silently.
  • Or ask up front. Say “use the best reasoning” or pass reasoning:"max" (e.g. xc plan … then confirm the bump).
  • You always see the cost. Every result ends with a spend-by-model line, and at the end of a multi-turn task crosscheck shows the session total per model plus the aggregate — no scrolling back through the chat to add it up.

Requires an Anthropic key (Fable 5 is an Anthropic model). Its pricing is currently a provisional estimate and is labeled as such in the spend breakdown.

Command reference

Every command is an MCP tool. From Claude Code, prefix a message with xc (or XC) and the command, then your input — e.g. xc audit this PR diff or xc plan the migration to gRPC. A bare xc <anything> with no matching command defaults to confer. Or just ask in plain language — “use crosscheck to debate …”.

Panels & reasoning

Put a question to multiple models at once and get structured, cross-checked output.

  • xc confer <question>Ask the whole panel the same question in parallel — one answer per provider.
  • xc debate <topic>Multi-round debate between providers, synthesized by a moderator.
  • xc coordinate <topic>Proposer → critics → synthesizer flow with structured output at each step.
  • xc triangulate <question>A coordinate flow reshaped into a consensus answer + a minority report.
  • xc plan <goal>Panel debates a step-by-step plan (fast by default; `thorough` for deeper).
  • xc critique <proposal>Each panelist lists the top weaknesses, merged + severity-ranked.
  • xc review <snippet>Panel peer-reviews a code or proposal snippet.
  • xc pick <decision, options, criteria>Score options across weighted criteria; ranked with dissent surfaced.

Build & verify

Produce and check work end-to-end — from a one-line instruction to a verified result.

  • xc create <instruction>Full macro: scope → build → review → audit; can write the result to a file.
  • xc create_cheap <instruction>Same as create, but uses the cheapest capable model per step.
  • xc orchestrate <goal or dag>Plan and run a DAG of LLM subtasks (parallel/reactive) into one final result.
  • xc solve <problem, verifier>Iterative solve: propose → verify → retry with feedback until it passes.
  • xc verify <checks>Run deterministic local checks (text / regex / sandboxed shell / URL) — no LLM calls.
  • xc audit <output_to_audit>Score a piece of output against a rubric (single- or multi-judge).
  • xc fetch <url>Allowlisted HTTP fetch with per-session caps + content-addressed evidence caching.

Memory & history

Everything runs through a local store you can search, inspect, and replay.

  • xc recall <query>Full-text search across your saved transcripts (SQLite FTS5).
  • xc session_memory <action, session_id>Manage per-session working memory (list / add / mark_stale / clear).
  • xc explain <session_id>Replay a session as a tree annotated with cost + latency.
  • xc scoreboardProvider win-rates, delegation counts, and run totals.

Panel & ops

Manage the panel, measure it, and keep the engine current.

  • xc list_providersShow every configured provider, its status, and active model.
  • xc recommend_panel <purpose>Suggest a minimal effective panel for a given purpose, from your usage history.
  • xc delegate <tool_call, via>Run confer/review restricted to a single named provider, with a quota check.
  • xc benchRun benchmark goldens against each provider and rank by score.
  • xc config_pin <action>Track config-file checksums and detect drift (show / set / accept_drift / clear).
  • xc update_crosscheckCompare your engine to the latest release; fast-forward update with apply=true.

Provider keys (bring your own)

crosscheck calls the providers with your own API keys. During install, keys setup offers three ways to add each one — and reassures you the key never leaves your machine:

  • Browser — paste into a localhost form that posts directly to the CLI on your machine.
  • Terminal — paste straight into the prompt.
  • Env import — if you already have ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, or XAI_API_KEY set, import them in one keystroke.

Keys are saved in an encrypted file on your machine (0600, AES-256-GCM) — no system password required — and never sent to us. Prefer your OS keychain? Run crosscheck keys store keychain. Tested providers: Anthropic, OpenAI, Google (Gemini), xAI (Grok). Kimi K3 (Moonshot) and Qwen (Alibaba, DashScope) are newly supported. DeepSeek, Groq, and Mistral are experimental.

Heads-up on xAI: a valid xai-… key still gets rejected until your xAI account has credits / billing enabled (add them at console.x.ai). If Grok calls fail, that’s almost always why — run crosscheck doctor to check.

Model support timeline

When each provider was added, and when its current default model became the default. “First supported” before 2026-06-05 predates the TypeScript engine rewrite — those seven were already wired up in crosscheck’s original prototype, so the date doubles as the product’s initial launch date.

ProviderDefault modelFirst supportedDefault since
Anthropicclaude-opus-52026-04-212026-07-24
OpenAIgpt-5.52026-04-212026-07-13
Google (Gemini)gemini-3.1-pro-preview2026-04-212026-07-09
xAI (Grok)grok-4-latest2026-04-212026-06-05
Mistralmistral-large-latest2026-04-212026-06-05
Groqllama-3.3-70b-versatile2026-04-212026-06-05
DeepSeekdeepseek-chat2026-04-212026-06-05
Kimi K3 (Moonshot)kimi-k32026-07-172026-07-17
Qwen (Alibaba)qwen3.8-max2026-08-042026-08-04

1Password (enterprise, opt-in)

Prefer centralized key management over pasting keys into every machine? crosscheck can read provider keys straight from 1Password instead of its local encrypted file. It’s additive and read-only — your activation stays local either way, and any provider you don’t map keeps using the file store as usual.

Requires the op CLI (1Password’s own command-line tool) installed and signed in. Then run:

$crosscheck keys setup --backend 1password

That opens a browser wizard — pick how this machine authenticates to 1Password (Desktop, using 1Password’s own unlock, or Service account for CI/headless), then for each provider fill in Vault / Item / Field. No op:// syntax to learn and nothing to hand-edit — the browser combines them and sends the result straight to the CLI on your machine, the same way keys add sends a pasted key: never through our servers, and only the reference (where the key lives) is sent, never the key itself.

The CLI won’t flip the switch until it confirms op is installed, the version is new enough, and at least one mapped provider actually resolves — values are read once to prove connectivity, then discarded; they’re never printed or stored. Re-run the same command any time to add another provider or change auth mode; it pre-fills what’s already configured. Run crosscheck doctor any time to recheck it.

Prefer to manage the config as a file instead (dotfiles, CI provisioning)? Add --file to skip the browser and validate a ~/.crosscheck/1password.json you’ve placed there yourself:

{
  "authMode": "desktop",
  "mappings": {
    "anthropic": "op://Engineering/Anthropic/api-key"
  }
}
$crosscheck keys setup --backend 1password --file

Seats & devices

One seat activates one machine at a time; activating a new machine on a seat that’s already in use will tell you to free it first. Manage seats, billing, and your active machines from your dashboard. See pricing for current rates.

CLI commands

crosscheck installSet everything up: activate, add provider keys, register with Claude Code.
crosscheck activate(Re)authorize this machine via the browser.
crosscheck keys setupInteractive wizard for all provider keys.
crosscheck keys add <provider>Add one key (browser by default; --paste for CI).
crosscheck keys listList stored provider key names (never values).
crosscheck keys remove <provider>Remove a stored key.
crosscheck heartbeatCheck license status against the server.
crosscheck serveStart the MCP server (Claude Code runs this for you).
crosscheck deactivateWipe local credentials from this machine.

Privacy

The server never sees your prompts or model responses — telemetry carries only token counts, a cost estimate, latency, provider/model, and the pattern name, and the ingest schema rejects any prompt-shaped field. It never sees your provider keys. Read the EULA for the full terms.

Troubleshooting

  • “Node 20+ required” — install Node 20 or newer from nodejs.org, then re-run the install command.
  • crosscheck tools don’t show in Claude Code — reconnect MCP servers (or restart Claude Code) after install.
  • “seat is already active on another machine” — a seat is sticky to your email once assigned, so extra seats only help teammates, not a second device for you. Sign in at your dashboard with the email that seat is assigned to and deactivate it under “Active installations.”
  • Activation didn’t finish — re-run crosscheck activate; codes expire after 10 minutes.

Ready?

Run npx -y crosscheck-cli@latest install or head to the install page.