Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Environment Variables

This page is grounded in:

  • crates/core/src/config/loader.rs
  • crates/cli/src/cmd/server.rs
  • crates/cli/src/cmd/mod.rs
  • crates/core/src/agent/runner.rs

User-set SWARMIE_* variables

These variables are read directly by Swarmie runtime code.

VariableUsed byConfig mapping / effect
SWARMIE_MODELConfig loaderMaps to defaults.model
SWARMIE_PROVIDERConfig loaderMaps to defaults.provider
SWARMIE_TRUSTConfig loaderMaps to permissions.trust_level
SWARMIE_SERVER_PORTConfig loaderMaps to server.port
SWARMIE_SERVER_PASSWORDConfig loader + swarmie webMaps to server.password; also used as fallback when swarmie web --password is not set
SWARMIE_LOG_LEVELCLI logging initControls log level written under ~/.swarmie/logs/

Internal agent-session variables

These are injected by the runtime for spawned agents/tools. They are not normally set manually.

VariableProducerPurpose
SWARMIE_AGENT_IDAgent runnerCurrent agent name
SWARMIE_SESSION_IDAgent runnerCurrent session ID
SWARMIE_DB_PATHAgent runnerMailbox/session DB path for orchestration tools
SWARMIE_AGENTSAgent runnerComma-separated agent names for orchestration tools

Example

export SWARMIE_MODEL=sonnet
export SWARMIE_PROVIDER=default
export SWARMIE_LOG_LEVEL=info
export SWARMIE_SERVER_PASSWORD='change-me'
 
swarmie
# or
swarmie web --port 4200

Notes

  • Env overrides are string-based and applied during config layer resolution.
  • Unknown SWARMIE_* names are ignored by the config loader.