
Security News
US Government Forces Anthropic to Pull Claude Fable Days After Launch
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.
Pi extension for coordinated AI teams, workflows, worktrees, and async task orchestration
Coordinate AI agent teams inside Pi.
pi-crew is a Pi extension that orchestrates autonomous multi-agent workflows — research, implementation, review, testing, and more — with durable state, parallel execution, worktree isolation, and safe defaults.
npm: pi-crew
repo: https://github.com/baphuongna/pi-crew
v0.6.3: See CHANGELOG.md.
canonicalizePath with realpathSync.native for Windows short-name/long-name aliasing; macOS symlink resolutionteam handles routing, planning, execution, review, and cleanupsubmit_result get needs_attention (terminal) instead of completed; allows retry/re-run without blocking downstream phasesassess step lets a planner pick the smallest effective crewimplementation, review, parallel-research, research workflows ship in workflows/key=value patternsschedule/scheduled actions with cron, interval, and one-shot support; spawned runs tracked and auto-cancelled on job removalpi install npm:pi-crew
Local development:
pi install ./pi-crew
Post-install config bootstrap:
pi-crew # after npm install
node ./pi-crew/install.mjs # from local clone
/team-init
/team-run Investigate failing tests and propose a fix
Or via tool call:
{
"action": "run",
"team": "default",
"goal": "Investigate failing tests and propose a fix"
}
/team-status <runId>
/team-dashboard
When unsure which team/workflow fits:
{
"action": "recommend",
"goal": "Refactor auth flow and add tests"
}
| Team | Workflow | Purpose |
|---|---|---|
default | explore → plan → execute → verify | Balanced, general-purpose |
fast-fix | explore → execute → verify | Quick bug fixes |
implementation | Adaptive planner decides fanout | Multi-file implementation |
review | explore → code-review → security-review → verify | Code review + security audit |
research | explore → analyze → write | Research and documentation |
parallel-research | Parallel shards → synthesize → write | Multi-source research |
analyst · critic · executor · explorer · planner · reviewer
security-reviewer · test-engineer · verifier · writer
pi-crew supports multiple runtime modes for task execution:
| Mode | Description |
|---|---|
auto (default) | Uses child-process unless overridden by config |
child-process | Spawns real pi child processes — each task runs in isolation |
scaffold | Dry-run mode — renders prompts and persists artifacts without executing |
live-session (experimental) | In-process session execution within the parent Pi |
// Use scaffold mode (no real workers, just prompts)
{ "action": "run", "team": "default", "goal": "...", "runtime": { "mode": "scaffold" } }
// Disable workers globally
{ "executeWorkers": false }
Async runs are detached from the session — they survive session switches and reloads. Pi-crew notifies when complete.
{ "action": "run", "team": "default", "goal": "...", "async": true }
/team-run --async Investigate failing tests
Background runs use node --import jiti-register.mjs for TypeScript support. See docs/runtime-flow.md for details.
Worktree mode creates an isolated git worktree per task — safe for parallel edits to the same branch.
{
"action": "run",
"team": "implementation",
"goal": "Refactor auth",
"workspaceMode": "worktree"
}
/team-run --worktree Refactor auth
Requirements:
requireCleanWorktreeLeader: falseIf preconditions are not met, a friendly error message is returned instead of crashing.
| Scope | Path |
|---|---|
| User | ~/.pi/agent/extensions/pi-crew/config.json |
| Project (new) | .crew/config.json |
| Project (legacy) | .pi/teams/config.json |
/team-config # view all settings
/team-config get runtime.mode # read one key
/team-config set runtime.mode=scaffold # scaffold mode
/team-config set asyncByDefault=true # async by default
/team-config unset runtime.mode # reset to default
/team-config --project # project scope
/team-settings path # show config file path
| Section | Keys | Default |
|---|---|---|
| Runtime | mode: auto | child-process | scaffold | live-session | auto |
maxTurns, graceTurns, groupJoin, requirePlanApproval | various | |
| Concurrency | limits.maxConcurrentWorkers | workflow-dependent |
limits.maxTaskDepth, limits.maxChildrenPerTask | 2, 5 | |
| Async | asyncByDefault | false |
runtime.groupJoin: off | group | smart | smart | |
| Autonomy | profile: manual | suggested | assisted | aggressive | suggested |
autonomous.injectPolicy, preferAsyncForLongTasks | true, false | |
| UI | widgetPlacement, dashboardPlacement | compact widget |
showModel, showTokens | display controls | |
| Reliability | autoRetry, autoRecover, deadletterThreshold | opt-in |
| Observability | prometheus.enabled, otlp.enabled, heartbeatStaleMs | opt-in |
| Worktree | worktree.enabled | disabled by default |
⚠️ Trust boundary: project config cannot override sensitive execution controls (workers, runtime mode, autonomy, agent overrides). Set those in user config only.
📖 Full config reference: docs/commands-reference.md#team-settings--config-management and schema.json
// Execute workflow (foreground or async)
{ "action": "run", "team": "default", "goal": "..." }
{ "action": "run", "team": "default", "goal": "...", "async": true }
// Monitor & control
{ "action": "status", "runId": "team_..." }
{ "action": "summary", "runId": "team_..." }
{ "action": "events", "runId": "team_..." }
{ "action": "artifacts", "runId": "team_..." }
{ "action": "cancel", "runId": "team_..." }
{ "action": "resume", "runId": "team_..." }
{ "action": "retry", "runId": "team_..." }
{ "action": "steer", "runId": "team_...", "taskId": "01_explore", "message": "Focus on src/ only" }
{ "action": "respond", "runId": "team_...", "message": "Answer" }
{ "action": "wait", "runId": "team_..." }
// Discovery
{ "action": "list" }
{ "action": "get", "resource": "team", "team": "default" }
{ "action": "get", "resource": "agent", "agent": "explorer" }
{ "action": "get", "resource": "workflow", "workflow": "review" }
{ "action": "recommend", "goal": "Refactor auth flow" }
{ "action": "search", "goal": "heartbeat detection" }
// Resource management
{ "action": "create", "resource": "agent", "config": { "name": "api-reviewer", ... } }
{ "action": "update", "resource": "team", "name": "backend", "config": { ... } }
{ "action": "delete", "resource": "workflow", "name": "quick-review" }
{ "action": "validate" }
// Run maintenance
{ "action": "cleanup", "runId": "team_..." }
{ "action": "forget", "runId": "team_...", "confirm": true }
{ "action": "prune", "olderThanDays": 7, "confirm": true }
{ "action": "export", "runId": "team_..." }
{ "action": "import", "path": "/path/to/bundle.tar.gz" }
// Environment & configuration
{ "action": "doctor", "config": { "smokeChildPi": true } }
{ "action": "config" }
{ "action": "init", "config": { "copyBuiltins": true } }
{ "action": "autonomy", "profile": "assisted" }
// Advanced
{ "action": "api", "runId": "team_...", "config": { "operation": "read-manifest" } }
{ "action": "plan", "team": "default", "goal": "..." }
{ "action": "orchestrate", "planPath": "plan.md", "team": "implementation", "goal": "..." }
{ "action": "parallel", "config": { "tasks": [{"goal": "...", "agent": "explorer"}] } }
{ "action": "worktrees", "runId": "team_..." }
{ "action": "graph", "runId": "team_..." }
{ "action": "explain", "runId": "team_..." }
{ "action": "health" }
{ "action": "doctor" }
{ "action": "cache" }
{ "action": "invalidate", "runId": "team_..." }
// Scheduled runs
{ "action": "schedule", "team": "fast-fix", "goal": "Run tests", "cron": "0 9 * * MON" }
{ "action": "schedule", "team": "default", "goal": "...", "interval": 3600000 }
{ "action": "schedule", "team": "research", "goal": "...", "once": "+10m" }
{ "action": "scheduled" }
// Diagnostics & settings
{ "action": "config" }
{ "action": "settings" }
{ "action": "autonomy" }
{ "action": "anchor" }
{ "action": "onboard" }
{ "action": "auto-summarize" }
📖 Full actions reference (40+ actions): docs/actions-reference.md
/team-run [--team=X] [--async] [--worktree] <goal>
/team-status <runId>
/team-dashboard
/team-doctor
/team-init [--copy-builtins]
/team-config [key=value]
/team-autonomy [status|on|off|suggested|assisted]
📖 Full commands reference: docs/commands-reference.md
Agents, teams, and workflows are discovered from three layers:
builtin (package) < user (~/.pi/agent/) < project (.crew/ or .pi/teams/)
Project resources can add new names but cannot shadow builtin/user resources.
| Type | Builtin | User | Project |
|---|---|---|---|
| Agent | agents/*.md | ~/.pi/agent/agents/*.md | .crew/agents/*.md |
| Team | teams/*.team.md | ~/.pi/agent/teams/*.team.md | .crew/teams/*.team.md |
| Workflow | workflows/*.workflow.md | ~/.pi/agent/workflows/*.workflow.md | .crew/workflows/*.workflow.md |
---
name: api-reviewer
description: Reviews API changes
triggers: api, endpoint, contract
useWhen: backend API changes, OpenAPI changes
avoidWhen: docs-only edits
cost: cheap
category: backend
---
Your system prompt here.
📖 Full resource formats: docs/resource-formats.md
<crewRoot>/ # .crew/ (new) or .pi/teams/ (legacy)
├── state/runs/{runId}/
│ ├── manifest.json # run metadata
│ ├── tasks.json # task graph + status
│ ├── events.jsonl # append-only events
│ └── agents/{taskId}/status.json # per-agent state
├── artifacts/{runId}/
│ ├── goal.md
│ ├── prompts/{taskId}.md
│ ├── results/{taskId}.txt
│ ├── logs/{taskId}.log
│ └── summary.md
├── worktrees/{runId}/{taskId}/
└── imports/{runId}/run-export.json
| Variable | Purpose |
|---|---|
PI_CREW_EXECUTE_WORKERS=0 | Disable child workers (scaffold mode) |
PI_TEAMS_EXECUTE_WORKERS=0 | Legacy disable flag |
PI_TEAMS_MOCK_CHILD_PI=success | Mock child worker for testing |
PI_TEAMS_PI_BIN=<path> | Explicit Pi CLI path |
PI_TEAMS_HOME=<path> | Override home for tests |
cd pi-crew
npm install # dependencies
npm test # unit + integration tests (~4,800 tests)
npm run typecheck # tsc --noEmit
npm run ci # full CI-equivalent check
npm pack --dry-run # package verification
Stats: 366 source files (70K lines) · 506 test files (66K lines) · 4,792 tests, 0 failures · CI: Ubuntu ✅ macOS ✅ Windows ✅
| Doc | Contents |
|---|---|
| docs/actions-reference.md | Full tool actions + examples |
| docs/commands-reference.md | Slash commands + /team-api |
| docs/resource-formats.md | Agent/team/workflow file formats |
| docs/usage.md | Usage patterns + config examples |
| docs/architecture.md | Internal architecture + run flow |
| docs/runtime-flow.md | Runtime execution details |
| docs/live-mailbox-runtime.md | Mailbox + live-session runtime |
| docs/publishing.md | Release & publish process |
| docs/next-upgrade-roadmap.md | Future upgrade roadmap |
| schema.json | Config JSON schema |
Research docs (not in package): docs/pi-crew-research/ — audits, deep research, distillation notes.
pi-crew builds on ideas and selected MIT-licensed implementation patterns from pi-subagents and oh-my-claudecode, with conceptual inspiration from oh-my-openagent.
FAQs
Pi extension for coordinated AI teams, workflows, worktrees, and async task orchestration
The npm package pi-crew receives a total of 3,323 weekly downloads. As such, pi-crew popularity was classified as popular.
We found that pi-crew demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.

Security News
A network of 152 Chrome live wallpaper extensions hid ad tracking and made extension-driven traffic look like Google search clicks.

Company News
Socket’s first CISO brings deep experience securing high-growth SaaS companies as open source supply chain threats accelerate.