Sourceable env file for the default (single) swarm-mcp profile.
Copy to ~/.config/swarm-mcp/default.env and edit locally. Use this when
you only want one identity — no multi-profile or client boundaries.
export AGENT_IDENTITY=default export SWARM_IDENTITY=default export SWARM_DB_PATH="$HOME/.swarm-mcp-default/swarm.db"
Visible herdr control socket pinned to this profile so it can coexist with
other profile sockets without colliding on a shared path.
export SWARM_MCP_DEFAULT_HERDR_SOCKET_ROOT="${SWARM_MCP_DEFAULT_HERDR_SOCKET_ROOT:-${HERMES_HOST_HOME:-$HOME}/.config/herdr/sessions/default}" export HERDR_SOCKET_PATH="${HERDR_SOCKET_PATH:-$SWARM_MCP_DEFAULT_HERDR_SOCKET_ROOT/herdr.sock}"
Sandbox roots for this profile (colon-separated). Coordination writes are
blocked from instances registered outside these paths. Default to $HOME for
a single-profile setup that spans every repo on the machine; tighten for
stricter isolation.
export SWARM_MCP_DEFAULT_ROOTS="${SWARM_MCP_DEFAULT_ROOTS:-$HOME}"
Harness aliases. Each canonical agent maps to the launcher alias you want
typed in your shell. With auto-discovery in env/launchers.zsh.example, these
values directly materialize the shell function names — no manual
swarm_define_profile call needed. Pick anything you like; binary-name
shadowing (e.g. claude=claude) is safe because the generator uses
command claude internally to skip the function on exec.
For each canonical agent you get three launch shapes:
worker — the SWARM_HARNESS_* alias here. Registers as identity:default.
gateway — the SWARM_HARNESS_*_LEAD alias. Same identity, mode:gateway role:planner.
vanilla — the raw binary (no alias). Skips registration entirely.
Vanilla is "don't set an alias and call the binary directly." See
env/README.md "Three ways to launch each agent" for the long form.
Hermes convention below: hermes is the gateway alias and hermes-worker
is the worker. Reversing the usual pattern makes sense when hermes is the
session you almost always want to run as a conductor.
export SWARM_HARNESS_CLAUDE=clowd export SWARM_HARNESS_CODEX=cdx export SWARM_HARNESS_OPENCODE=opc export SWARM_HARNESS_HERMES=hermes-worker export SWARM_HARNESS_CLAUDE_LEAD=clowdg export SWARM_HARNESS_CODEX_LEAD=cdxg export SWARM_HARNESS_OPENCODE_LEAD=opcg export SWARM_HARNESS_HERMES_LEAD=hermes export SWARM_HARNESS_HERDR=herdr
Let hooks/scripts find the local swarm-mcp CLI when the package binary is
not installed.
export SWARM_MCP_BIN="bun run /absolute/path/to/swarm-mcp/src/cli.ts"
Account-scoped MCP config roots. Keep auth state under this profile's roots
so MCP servers see only this identity's secrets/sessions.
export CLAUDE_CONFIG_DIR="$HOME/.claude" export CODEX_HOME="$HOME/.codex" export OPENCODE_CONFIG_DIR="$HOME/.config/opencode"
Single-profile Hermes normally keeps config, plugins, and MCP servers in
~/.hermes. Point this at a named profile only if that profile has its own
config.yaml and plugin/MCP setup.
export HERMES_HOME="$HOME/.hermes"
