Config file location
Operator reads its configuration from~/.operator/config.json on startup. If the file does not exist, Operator starts with built-in defaults so you can run operator onboard or edit the file manually.
Two environment variables control file locations:
OPERATOR_CONFIG— override the full path to the config file (e.g.OPERATOR_CONFIG=/etc/operator/config.json)OPERATOR_HOME— override the base directory for workspace defaults. When set, the default workspace becomes$OPERATOR_HOME/workspace.
Top-level structure
The file is a single JSON object with these top-level keys:| Section | Purpose |
|---|---|
agents | Default model, workspace, and runtime limits for all agents |
model_list | Declare every AI model the agent can use, with credentials and routing |
channels | Messaging integrations (Telegram, Discord, Slack, WhatsApp, and more) |
tools | Web search, shell execution, MCP servers, cron scheduling, and skills |
heartbeat | Periodic health-check ping sent from the agent |
devices | USB device monitoring and hardware integration |
gateway | Local HTTP gateway host and port |
Environment variable overrides
Every field inconfig.json has a corresponding environment variable. The pattern is:
Complete example
The following is an abridged version of the full example configuration shipped with Operator:Next steps
AI model configuration
Add providers, set API keys, and configure multi-model load balancing.
Agent configuration
Set workspace paths, token limits, temperature, and tool iteration caps.
Security & sandboxing
Restrict workspaces, block dangerous shell commands, and limit channel access.