---
title: "Council: Compare Codex, Claude, and Gemini in One CLI"
description: "Council is an open-source CLI that runs Codex, Claude, and Gemini in parallel on the same prompt, synthesizes one answer, and highlights disagreements."
url: "https://council.armstr.ng/"
---

# Ask three agents. Get one answer.

Council runs Codex, Claude, and Gemini in parallel against the same prompt and synthesizes their responses — using the subscriptions you already pay for.

Works with: Codex, Claude, Gemini

```bash
npx @armstrng/council review this migration plan
```

Free and open source. MIT licensed.

Three models, three sets of blind spots. Council runs them in parallel and surfaces where they agree, where they don't, and where one of them is probably wrong.

## Features

### Works with what you've already got

Detects `codex`, `claude`, and `gemini` on your `PATH` and runs whichever subset is there. Override with `COUNCIL_*_BIN` if your binaries live somewhere unusual.

### Won't touch your code

Each CLI runs in its plan or read-only mode. Nothing on disk changes unless you opt in.

### See where they disagree

One answer drawn from all three responses, with real disagreements surfaced instead of averaged away. If the lead summarizer is down, the next one takes over.

### Watch them think, ask follow-ups

Each model streams in place, with a heartbeat on the slow ones. Press a number to expand a full answer. Type to ask a follow-up — the next turn carries the prior context.

### Drops into any pipeline

Pipe stdin with `echo "..." | council`, get structured output with `--json` or `--json-stream`, skip the dashboard with `--headless`, or import `runCouncil()` directly in Node.

## Links

- [Source code on GitHub](https://github.com/seeARMS/council)
- [@armstrng/council on npm](https://www.npmjs.com/package/@armstrng/council)
- [CLI README](https://github.com/seeARMS/council/blob/main/cli/README.md): install, usage, flags and output modes

Made by [Colin Armstrong](https://armstr.ng).
