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 attach to observe an agent in real time
  • crew screen to capture terminal output programmatically
  • .crew/history.md for message/event history
  • .crew/mail-board/ for long-form reports