Skip to content

About

Claude Code plugin that asks several AI coding agents the same question and shows their answers side by side. Gemini, OpenAI, Grok, Perplexity, Kimi and any model OpenRouter routes to over API; codex, antigravity, grok, kimi and cursor CLIs on subscription auth; ollama locally. Codex specialists take coding tasks on their own branch (experimental).

Topics

Resources

Security policy

Stars

898 stars

Watchers

5 watching

Forks

Repository files navigation

claude-council

A Claude Code plugin that asks AI coding agents the same question in parallel. Compare their answers when one model's bias could mislead you: architecture decisions, debugging dead ends, security reviews, or framework choices.

Codex, Antigravity, Gemini, and OpenAI answer the SQLite-or-Postgres question while fake Kimi fails

Tests

Install

You need curl and jq on macOS, Linux, or Windows through Git Bash.

/plugin marketplace add hex/claude-marketplace
/plugin install claude-council

Give it at least one provider in the shell you start Claude Code from:

export OPENAI_API_KEY="..."
# Or GEMINI_API_KEY, XAI_API_KEY, PERPLEXITY_API_KEY,
# KIMI_API_KEY, OPENROUTER_API_KEY

The codex, agy (Antigravity), grok, kimi, and cursor-agent CLIs use your existing subscriptions without an API key. A local ollama model needs no key or external network. With none of these, --local uses Claude subagents. See provider selection and local councils.

First run in 60 seconds

Read what gets sent and saved before asking about your code.

/claude-council:status
/claude-council:ask "Should I use UUID or BIGINT primary keys for a SaaS users table?"

Each provider answers independently. Claude writes a synthesis of their agreement, disagreements, and recommendation. Agreement is not verification: the models share your description and its assumptions. The synthesis names the premise that could change the answer.

Features

Capability Guide
Ask providers together, or name one in plain words Command examples
Choose providers and pin a standing roster Provider selection
Assign specialist roles Roles
Have providers challenge each other's answers Debate
Gather code context with agents before asking Agent mode
Use Claude subagents without an external provider Local council
Include relevant files or choose your own Auto-context
Attach a screenshot Image input
Ask about the current conversation /advise
Run in the background and fetch the result Background jobs
Export the answers to a file Export
Show only the synthesis Quiet mode
Watch answers arrive and retry failed seats The pane
Get a note from one seat while Claude works Heads-up side-check
Have a second model review the diff before Claude stops Stop-gate review
Call the scripts without Claude Code Direct script usage

The reference lists every flag, variable, model default, and limit. Architecture covers the implementation. TESTING.md covers tests, releases, and adding a provider.

Heads-up side-check

The intro hint, a heads-up note, Learn more, and an unsent Tell Claude draft

Opt in through the "Heads-up side-check" row in /config or the project's .claude/council-heads-up.json. One seat, codex by default, checks recent turns and tool results while Claude works. The note shows what went where. Learn more expands it; Tell Claude puts a draft in the prompt without sending it. Read the data limits and off switch and the heads-up guide.

The pane

With CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1, the pane opens inside Claude Code, as in the animation above. Each answer's banner names the seat, model, and elapsed time. Answers fold when the synthesis arrives so it sits near the top. Cancel a slow seat, fold sections, or reopen the last run with /council-pane. Inside tmux, the mod asks once which pane you want.

Mods are early access. The mod guide lists keys, settings, and limits. It also lets Claude call the council as a tool; every call asks you first.

Real SQLite-or-Postgres answers arrive in tmux beside a fake Kimi failure and the retry offer

Without the mod, tmux opens a side pane that streams answers and each provider's status. It offers to retry failed seats. Esc closes it. --no-pane or COUNCIL_NO_PANE=1 turns it off. Outside both pane modes, answers arrive in the chat. See terminal integration.

The council and tmux animations show real answers to "Should a single-node demo app use SQLite or Postgres?" Codex and Antigravity use subscriptions; Gemini and OpenAI use their APIs. Kimi is a rate-limit fixture. The heads-up animation uses a fake seat and a real Claude Code host. Capture scripts and raw frames record how to reproduce them.

Troubleshooting

Problem Fix
Cloned the repo and nothing loads Don't clone into ~/.claude/plugins/. pluginDirectories is not a setting. Follow running from a local clone.
No providers found Run /claude-council:status. Export keys in the shell that starts Claude Code, or use --local.
A different model answered A header such as grok-4.7 (grok-latest unavailable) records a model fallback. Setting that provider's _MODEL variable disables fallback.
No pane Use tmux or set CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 for the pane inside Claude Code.
Updating Run /plugin update claude-council, then restart Claude Code.

About

Claude Code plugin that asks several AI coding agents the same question and shows their answers side by side. Gemini, OpenAI, Grok, Perplexity, Kimi and any model OpenRouter routes to over API; codex, antigravity, grok, kimi and cursor CLIs on subscription auth; ollama locally. Codex specialists take coding tasks on their own branch (experimental).

Topics

Resources

Security policy

Stars

898 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages