Get a second opinion without leaving Claude Code.
Different AI models have different strengths and blind spots. Owlex lets you query Codex, Gemini, OpenCode, ClaudeOR, and AiChat directly from Claude Code - and optionally run a structured deliberation where they review each other's answers before Claude synthesizes a final response.
- Round 1 - Your question goes to each agent independently. They answer without seeing each other.
- Round 2 - Each agent sees all Round 1 answers and can revise their position.
- Synthesis - Claude reviews everything and outputs a structured answer.
Use it for architecture decisions, debugging tricky issues, or when you want more confidence than a single model provides. Not for every question - for the ones that matter.
uv tool install git+https://github.com/agentic-mcp-tools/owlex.gitAdd to .mcp.json:
{
"mcpServers": {
"owlex": {
"command": "owlex-server"
}
}
}council_ask prompt="Should I use a monorepo or multiple repos for 5 microservices?"
Options:
claude_opinion- Share your initial thinking with agentsdeliberate- Enable Round 2 revision (default: true)critique- Agents critique each other instead of reviseroles- Assign specialist roles (dict or list)team- Use a predefined team presettimeout- Timeout per agent in seconds (default: 300)
Agents can operate with specialist perspectives that shape their analysis:
| Role | Description |
|---|---|
security |
Security analyst - vulnerabilities, auth, data protection |
perf |
Performance optimizer - efficiency, caching, scalability |
skeptic |
Devil's advocate - challenge assumptions, find edge cases |
architect |
System architect - design patterns, modularity, APIs |
maintainer |
Code maintainer - readability, testing, tech debt |
dx |
Developer experience - ergonomics, documentation, errors |
testing |
Testing specialist - coverage, strategies, edge cases |
neutral |
No role injection (default) |
Assign roles explicitly:
council_ask prompt="Review this auth flow" roles={"codex": "security", "gemini": "perf"}
Auto-assign from list (in agent order: codex, gemini, opencode, claudeor, aichat):
council_ask prompt="Review this code" roles=["security", "skeptic", "maintainer"]
Predefined role combinations for common scenarios:
| Team | Codex | Gemini | OpenCode | ClaudeOR | AiChat |
|---|---|---|---|---|---|
security_audit |
security | skeptic | architect | dx | testing |
code_review |
maintainer | perf | testing | dx | security |
architecture_review |
architect | perf | maintainer | dx | skeptic |
devil_advocate |
skeptic | skeptic | skeptic | skeptic | skeptic |
balanced |
security | perf | maintainer | dx | testing |
optimal |
maintainer | architect | dx | skeptic | perf |
council_ask prompt="Is this design secure?" team="security_audit"
| Tool | Description |
|---|---|
start_codex_session |
New Codex session |
resume_codex_session |
Resume with session ID or --last |
start_gemini_session |
New Gemini session |
resume_gemini_session |
Resume with index or latest |
start_opencode_session |
New OpenCode session |
resume_opencode_session |
Resume with session ID or --continue |
start_claudeor_session |
New Claude via OpenRouter session |
resume_claudeor_session |
Resume with session ID or --continue |
start_aichat_session |
New AiChat session |
resume_aichat_session |
Resume with session name |
Non-blocking slash commands for quick agent invocation:
| Skill | Description |
|---|---|
/codex |
Ask Codex a question |
/gemini |
Ask Gemini a question |
/council |
Run council deliberation |
/critique |
Run council in critique mode |
Council runs in the background. Start a query, keep working, check results later.
| Tool | Description |
|---|---|
wait_for_task |
Block until task completes |
get_task_result |
Check result without blocking |
list_tasks |
List tasks with status filter |
cancel_task |
Kill running task |
| Variable | Default | Description |
|---|---|---|
COUNCIL_EXCLUDE_AGENTS |
`` | Skip agents (e.g., opencode,gemini,claudeor) |
COUNCIL_DEFAULT_TEAM |
`` | Default team when none specified (empty = neutral) |
COUNCIL_CLAUDE_OPINION |
false |
Claude shares its opinion with agents by default |
OWLEX_DEFAULT_TIMEOUT |
300 |
Timeout in seconds |
CODEX_BYPASS_APPROVALS |
false |
Bypass sandbox (use with caution) |
GEMINI_YOLO_MODE |
false |
Auto-approve Gemini actions |
OPENCODE_AGENT |
plan |
plan (read-only) or build |
OPENROUTER_API_KEY |
`` | OpenRouter API key (enables ClaudeOR agent) |
CLAUDEOR_MODEL |
`` | OpenRouter model for ClaudeOR (e.g., deepseek/deepseek-v3.2) |
AICHAT_MODEL |
`` | Model for AiChat (e.g., openrouter:minimax/minimax-m2.5) |
- Codex and Gemini use your existing subscriptions (Claude Max, Google AI Pro, etc.)
- OpenCode and AiChat use API tokens (provider-dependent)
- Exclude agents with
COUNCIL_EXCLUDE_AGENTSto control costs - Use council for important decisions, not every question
| Agent | Strengths |
|---|---|
| Codex (gpt5.2-codex) | Deep reasoning, code review, bug finding |
| Gemini | 1M context window, multimodal, large codebases |
| OpenCode | Alternative perspective, configurable models |
| ClaudeOR | Claude Code + OpenRouter (DeepSeek, GPT-4o, etc.) |
| AiChat | Multi-provider (20+ backends), bring-your-own-model flexibility |
| Claude | Complex multi-step implementation, synthesis |

