The crew

Agents & isolation

Brigade ships with one default agent called main. Add more, and each agent is fully isolated: its own workspace (persona files), auth profiles, exec allowlist, sessions, memory, and optional channel routing bindings.

What "isolated" means#

By design, agents do not bleed into each other:

  • Agent A cannot read agent B's session transcripts unless visibility is widened beyond self.
  • Agent A cannot send to agent B's session unless the A2A (agent-to-agent) policy permits it.
  • Memory facts are per-agent and origin-scoped — they do not bleed between agents.
  • Provider credentials are per-agent — e.g. support and prod-bot can use different accounts.

The default policy is visibility: "self" — an agent only sees its own sessions. Switch to "tree" to let a parent see the sub-agents it spawned.

Adding an agent#

Each new agent gets its own directory under ~/.brigade/agents/<id>/. Without --workspace it defaults to ~/.brigade/agents/<id>/workspace/.

terminal
$ brigade agents                 # list every agent (default)$ brigade agents list --json --bindings$ brigade agents add support     # create an isolated agent$ brigade agents add support --model claude-opus-4-7 --provider anthropic$ brigade agents delete support --force

Persona & identity#

An agent's persona comes from a set of UPPERCASE markdown files in its workspace — SOUL.md, IDENTITY.md, AGENTS.md, USER.md, TOOLS.md, BOOTSTRAP.md, and HEARTBEAT.md. The system prompt is assembled from these each turn, alongside eligible skills and org context. Set the display identity (name, theme, emoji, avatar) without touching files:

terminal
$ brigade agents set-identity --agent support --name "Support" --emoji "🛟"

Channel bindings#

A binding claims a channel-account routing slot for an agent, so inbound messages on that account reach that agent. A binding <spec> is "<channel>" or "<channel>:<accountId>".

terminal
$ brigade agents bind --agent support --bind "whatsapp:work"$ brigade agents unbind --agent support --all$ brigade agents bindings --agent support

Crew tools#

From inside a turn, agents coordinate the crew through tools, all owner-gated. See Tools for the full gate posture.

ToolPurpose
agents_listEnumerate configured agents
manage_agentCreate / configure an agent (owner-only)
spawn_agent · spawn_agentsDelegate to child agents — see Sub-agents
sessions_send · sessions_spawn · sessions_list · sessions_historyCross-session messaging, gated by visibility + A2A policy
orgInspect / mutate the org chart when cfg.org is set

One owner, a whole crew

Brigade is single-operator: there is one human owner, and the agents report to each other through a real org chart. It is not a multi-tenant team tool — multi-user is a separate, future direction.