Skip to main content

Install

pip install mutual-dissent
Or from source:
git clone https://github.com/richardspicer/mutual-dissent.git
cd mutual-dissent
uv sync

Configure an API Key

Mutual Dissent routes all models through OpenRouter by default. Set your key:
export OPENROUTER_API_KEY=sk-or-...
Or add it to ~/.mutual-dissent/config.toml:
[providers]
openrouter_api_key = "sk-or-..."
Verify your setup:
dissent config test

Run Your First Debate

dissent ask "What are the security implications of MCP tool poisoning?"
Mutual Dissent fans out to Claude Opus, GPT, Gemini, Grok, and Nemotron, runs one reflection round, and prints the synthesized answer.

Customize the Panel

# Two-model debate with extra reflection
dissent ask "Is Rust safer than C?" --panel claude,gpt --rounds 2

# Different synthesizer
dissent ask "Explain zero-knowledge proofs" --synthesizer gemini

# Show all rounds, not just synthesis
dissent ask "Compare REST vs GraphQL" --verbose

Browse Saved Transcripts

Every debate is saved to ~/.mutual-dissent/transcripts/ automatically.
dissent list              # Show recent transcripts
dissent show abcd1234     # View a specific transcript by ID prefix
dissent replay abcd1234   # Re-synthesize with a different model

Next Steps