Crew
Crew manages a team of AI agents, each running in its own tmux session with a persona.
List Active Crew
$ metateam crew list
# or
$ metateam crew
Initialize a Crew
$ metateam crew init [NAME] [--force]
Creates crew state and seeds template-backed KB entries.
Use --force to re-sync matching template entries.
Start a Crew (Bootstrap)
$ metateam crew start [--client <CLIENT>]
Bootstraps the crew via a leader persona. --client overrides client selection (for example codex).
Summon an Agent
$ metateam crew summon <NAME> [MESSAGE] [--client <CLIENT>] [--backend <BACKEND>]
--backend supports tmux or embedded.
Release an Agent
$ metateam crew release <NAME>
Send Messages
$ metateam crew message <TARGET> [MESSAGE] [--from <FROM>] [--file <FILE>...]
Target format:
| Target | Meaning |
|---|---|
agent |
Agent in current crew |
crew:agent |
Agent in another local crew |
host:crew:agent |
Agent on a remote host |
name1,name2 |
Multiple recipients |
all |
Broadcast current crew |
all-crews |
Broadcast all local crews |
all-hosts |
Broadcast all hosts/crews/agents |
Check Recent Messages
$ metateam crew inbox
Attach to an Agent Session
$ metateam crew attach <NAME>
Capture Agent Screen
$ metateam crew screen <NAME> [-n <LINES>] [--all] [-o <FILE>] [--no-trim]
Reset an Agent Context
$ metateam crew reset <NAME>
Resets the agent session context and asks it to recall the last session.
Personas
$ metateam crew persona list
$ metateam crew persona show <NAME>
$ metateam crew persona add <NAME>
$ metateam crew persona edit <NAME>
$ metateam crew persona export <NAME>
$ metateam crew persona import <FILE>
$ metateam crew persona delete <NAME>
Communication Instructions
$ metateam crew communication show
$ metateam crew communication edit
Client-Specific Instructions
$ metateam crew client-instructions show <CLIENT>
$ metateam crew client-instructions edit <CLIENT>
Workflow Record
$ metateam crew workflow show
$ metateam crew workflow edit
$ metateam crew workflow reset
Mission Record
metateam crew mission prints the exact bytes of .crew/mission.json, or {}
when there is no mission. If someone hand-edits the file into an invalid record,
the command still prints those bytes and exits nonzero so the file can be repaired.
Use metateam crew mission set <VALUE> to validate and replace the record;
VALUE can be inline JSON or - to read JSON from stdin. Setting {} deletes
the mission.
The record is a JSON object with a nonblank title, an RFC 3339 started
timestamp, and exactly one ordered array: tasks for a single lane or lanes
for a mega-lane. Either array may be empty. Each task or lane has nonblank
text and may have owner and artifact strings, an RFC 3339 done
timestamp, or nested tasks. A lane may have its own started timestamp, even
without children; below a lane, only a group (a task with nested tasks) may
have started. Unknown fields are rejected. mission set fills a missing
root started with the current time and stamps done: true with the current
timestamp, including in lanes and nested tasks. A completed group requires all
descendants to be complete. The first unfinished task or lane in order,
descending into unfinished children, is current.
For a single lane, the setter can fill started:
$ metateam crew mission set '{"title":"Ship CLI help","tasks":[{"text":"Document Mission","owner":"carmack","artifact":"manual/cli/crew.md"}]}'
$ metateam crew mission
For a nested mega-lane, pass readable JSON on stdin. The completed child is
timestamped when set runs:
$ metateam crew mission set - <<'JSON'
{
"title": "Platform release",
"lanes": [
{
"text": "Alpha 1: CLI",
"owner": "carmack",
"tasks": [
{"text": "Implement command", "done": true},
{"text": "Review help", "owner": "cantrill", "artifact": "manual/cli/crew.md"}
]
},
{
"text": "Alpha 2: Dashboard",
"tasks": [{"text": "Render Mission overlay", "owner": "data"}]
}
]
}
JSON
On an agent tab, F12, c toggles the Mission overlay; the dashboard's F12 help lists it as Toggle Mission panel.
Dashboard Watchdog
$ metateam crew watchdog status
$ metateam crew watchdog on
$ metateam crew watchdog off
status reports the live dashboard watchdog timer as on or off. on/off
toggle the same idle-leader nudge timer as F12, w in the dashboard runtime.
The enabled state is not saved to .crew/settings.json; timeout and message
configuration are still saved there. These commands require the matching crew
dashboard communicator to be running.
Dashboard
$ metateam crew dashboard [--no-resize]
Opens the crew dashboard TUI.
Clear Crew State
$ metateam crew clear
Rename / Delete a Crew
$ metateam crew rename <NAME>
$ metateam crew delete <station:crew> [--force] [--yes]
crew delete target format is station:crew (example: devmac:atlas).
Observability
crew attachto observe an agent in real timecrew screento capture terminal output programmatically.crew/history.mdfor message/event history.crew/mail-board/for long-form reports