Crew can consume significant tokens because it runs multiple LLM sessions in parallel. You can configure models and execution constraints in ~/.pi/agent/pi-messenger.json.
Model Configuration
By default, agents inherit the host session model. You can override models per role using the crew.models.<role> key. Model strings support the provider/model format and a :level suffix for inline thinking control (e.g., anthropic/claude-sonnet-4:high).
Configuration Reference
All fields are optional. Settings are applied in the following hierarchy: crew.models.<role> > agent frontmatter > host session model.
| Setting | Description | Default |
|---|
concurrency.workers | Default parallel workers per wave | 2 |
concurrency.max | Maximum workers allowed (hard ceiling is 10) | 10 |
dependencies | Dependency scheduling mode: advisory or strict | "advisory" |
coordination | Worker coordination level: none, minimal, moderate, chatty | "chatty" |
models.planner | Model for planner agent | host session model |
models.worker | Model for workers | host session model |
models.reviewer | Model for reviewer agent | host session model |
review.enabled | Auto-review after task completion | true |
review.maxIterations | Max review/fix cycles per task | 3 |
planning.maxPasses | Max planner/reviewer refinement passes | 1 |
work.maxAttemptsPerTask | Auto-block after N failures | 5 |
work.maxWaves | Max autonomous waves | 50 |
Default Agent Roles and Fallbacks
| Agent | Role | Default Model |
|---|
crew-planner | planner | anthropic/claude-opus-4-6 |
crew-worker | worker | anthropic/claude-haiku-4-5 |
crew-reviewer | reviewer | anthropic/claude-opus-4-6 |
crew-plan-sync | analyst | anthropic/claude-haiku-4-5 |
{
"crew": {
"concurrency": { "workers": 2, "max": 10 },
"models": {
"worker": "anthropic/claude-haiku-4-5",
"planner": "openrouter/anthropic/claude-sonnet-4:high"
},
"review": { "enabled": true, "maxIterations": 3 },
"planning": { "maxPasses": 1 },
"work": {
"maxAttemptsPerTask": 5,
"maxWaves": 50
}
}
}