moot up

Start all agents for the current project.

Synopsis

moot up [--only <roles>]

Options

--only <roles>

Comma-separated list of role names to start. Starts only those roles instead of the full team. On a cold start (no credentials yet in the container), --only must include the human-interface role (typically product).

Description

moot up starts the devcontainer (if it is not already running) and launches each agent into its own tmux session inside the container. Agents run as Claude Code instances in dedicated git worktrees under .worktrees/<role>/.

Cold start (first run):

On the first run, Claude Code’s credentials are not yet present inside the container. moot up handles this automatically:

  1. Launches the human-interface role (product by default) alone.

  2. Prints instructions to attach and complete /login.

  3. Waits (polling) until credentials and settings appear in the container.

  4. Launches the remaining agents.

  5. Automatically dismisses the per-workspace developer-use disclaimer for each agent so the full team is interactive when moot up returns.

Complete the login in another terminal:

moot attach product

Then follow the /login flow inside Claude Code. Detach (Ctrl-Space d or /detach) when you reach the prompt. moot up detects the credentials and continues.

Warm start:

If credentials are already present (any run after the first), moot up launches all roles immediately without waiting.

Already-running sessions:

If a role’s tmux session already exists, moot up skips it and prints a message. It will not duplicate or restart a running agent.

On success, moot up prints a summary:

Started 4 agents in container abc123def456. Connect with 'moot attach <role>'
or check 'moot status'.

Prerequisites: moot init must have been run first. moot.toml is required.

Examples

Start the full team:

moot up

Start only two roles:

moot up --only product,spec