Multi-agent orchestrator for Claude Code. Spawn, coordinate and monitor AI agents in parallel — no API key required.
**Multi-agent orchestrator for Claude Code.** Spawn and coordinate hundreds of AI agents in parallel via a single CLI. No API key required, powered by your Claude Code subscription. Ideal for developers, teams, and anyone who wants to multiply their AI coding capacity.
---
## Demo
```bash
# Spawn 4 parallel agents in seconds
oa run "Research React 19 new features" --name researcher --model claude/sonnet --direct
oa run "Write unit tests for auth module" --name tester --model claude/sonnet --direct
oa run "Generate OpenAPI docs from bridge.py" --name documenter --model claude/haiku --direct
oa run "Review PR #42 for security issues" --name reviewer --model claude/opus --direct
# Watch them work
oa status
```
```
┌─────────────┬────────┬─────────┬──────────────────────────────┐
│ NAME │ MODEL │ STATUS │ TASK │
├─────────────┼────────┼─────────┼──────────────────────────────┤
│ researcher │ sonnet │ running │ Research React 19 new... │
│ tester │ sonnet │ running │ Write unit tests for auth... │
│ documenter │ haiku │ done │ Generate OpenAPI docs... │
│ reviewer │ opus │ running │ Review PR #42 for security.. │
└─────────────┴────────┴─────────┴──────────────────────────────┘
```
---
## Features
| | |
|---|---|
| 🤖 **1612+ Agent Templates** | 112 categories from code-dev to AEC to healthcare |
| ⚡ **Parallel Execution** | Spawn hundreds of agents simultaneously in tmux |
| 🔄 **Bidirectional Feedback Loop** | Agents report back; orchestrator iterates |
| 🐳 **Pipeline Orchestration** | Planner → parallel Workers → Combiner, automated |
| 📊 **Three Interfaces** | Terminal CLI, Textual TUI dashboard, React web UI |
| 🔌 **MCP + Agent Messaging** | Integrate with any MCP client; inter-agent DMs |
| 🧬 **Nested Spawning** | Agents create child agents up to 6 levels deep |
| 🌐 **Multi-model** | Claude Opus / Sonnet / Haiku + local Ollama models |
---
## Quick Start
```bash
# Install
./install.sh # Linux / macOS / WSL2
# Start a session
oa start
# Spawn your first agent
oa run "Write a Python web scraper" --model claude/sonnet --direct
# Check status
oa status
```
---
## Architecture
```
┌─────────────────────────────────────────────────────┐
│ oa CLI (Python) │
│ start · run · status · pipeline · delegate · web │
├──────────┬──────────┬───────────┬───────────────────┤
│ tmux │ Textual │ React │ MCP Server │
│ session │ TUI │ Web UI │ (FastMCP) │
├──────────┴──────────┴───────────┴───────────────────┤
│ Claude Code CLI (subscription) │
│ Claude Opus · Sonnet · Haiku · Ollama │
├─────────────────────────────────────────────────────┤
│ 1612+ Agent Templates │ 22 Skills │ Guardians │
│ 112 categories │ 7 domains │ auto-run │
└─────────────────────────────────────────────────────┘
```
---
## Commands
| Command | Description |
|---------|-------------|
| `oa start` | Start tmux session |
| `oa run ""` | Spawn an agent |
| `oa status` | Show all agents |
| `oa watch ` | Stream live output |
| `oa collect ` | Get completed output |
| `oa pipeline ""` | Multi-agent pipeline (Planner → Workers → Combiner) |
| `oa delegate ""` | Autonomous orchestrator agent |
| `oa dashboard` | Textual TUI dashboard |
| `oa web` | React web UI at localhost:5174 |
| `oa team create ` | Create agent team |
| `oa send "msg"` | Inter-agent messaging |
| `oa kill ` | Stop an agent |
| `oa clean` | Remove completed workspaces |
### `oa run` Options
| Option | Description |
|--------|-------------|
| `--name NAME` | Agent name (auto-generated if omitted) |
| `--model MODEL` | `claude/opus`, `claude/sonnet`, `claude/haiku`, `ollama/` |
| `--parent NAME` | Parent agent for nested hierarchies |
| `--direct` | Write directly to codebase (skip proposals) |
| `--workspace DIR` | Use existing workspace |
| `--prompt-file FILE` | Read task from file (avoids shell escaping issues) |
### Multi-line Prompts & Special Characters
When your prompt contains single quotes, backticks, `$variables`, or spans multiple lines, use `--prompt-file` to avoid shell parsing issues:
```bash
# Write your prompt to a file
cat > /tmp/task.txt << 'EOF'
Refactor the `parse_user()` function in src/utils.py.
It's broken when input contains $special chars or it's > 100 chars.
EOF
oa run --prompt-file /tmp/task.txt --model claude/sonnet
```
Or use a heredoc variable:
```bash
PROMPT=$(cat << 'EOF'
Your multi-line prompt with 'quotes', `backticks`, and $variables here.
EOF
)
oa run "$PROMPT" --model claude/sonnet
```
---
## Pipeline Orchestration
```bash
oa pipeline "Build a CSV validator library with tests and README"
```
```
Planner (5 min) → plan.json → Subtask agents (parallel, 30 min each) → Combiner (10 min) → result.md
```
---
## Agent Library
**1612+ templates** across **112 categories**, including:
| Domain | Categories | Examples |
|--------|-----------|----------|
| **Development** | code-dev, frontend, backend, testing, devops | Find bugs, generate tests, review code |
| **AEC** | blender, bonsai, ifcopenshell, sverchok | 3D modeling, BIM authoring, IFC processing |
| **Data** | analytics, data-pipeline, ml-ops, database | Transform, visualize, validate |
| **Business** | finance, legal, marketing, hr, logistics | Compliance, content, operations |
| **Infrastructure** | cloud, security, monitoring, iot | Deploy, audit, observe |
---
## Installation
### Linux / macOS / WSL2
```bash
./install.sh
```
### Verify
```bash
oa version
oa doctor # Check all dependencies
```
### Requirements
| Dependency | Version |
|------------|---------|
| Python | >= 3.10 |
| tmux | any recent |
| Claude Code CLI | latest (active subscription) |
> **Windows**: Use WSL2. Native Windows is not supported.
---
## Visual Canvas (Advanced)
Drag-and-drop React Flow canvas for building complex agent workflows:
```bash
pnpm install && pnpm dev # localhost:5173
```
160+ pre-built agents, flow + pool patterns, assembly engine (NL → agent graph), safety & audit, multi-provider support.
---
## Contributing
Contributions welcome! Open an issue or submit a PR.
1. Fork the repository
2. Create a feature branch
3. Submit a pull request
## Organization
| Entity | Role |
|--------|------|
| **OpenAEC Foundation** | Open-source stewardship |
## License
[MIT](LICENSE)
---
*Build free. Build together.*