~/.ctrlnode/.env. The runtime reads config at startup; installers (install.ps1 / install.sh) create the initial file.
Interactive setup belongs in install scripts, not in the Bridge binary. After install, edit
~/.ctrlnode/.env or your shell profile.Where settings live
.env search order (first existing file wins; keys already in the process environment are not overwritten from file, except installer overrides — see below):
{BASE_PATH}/.ctrlnode/.env(recommended — written by installers)./.env(current working directory)~/.env(home directory)
PAIRING_TOKEN, SAAS_URL, and BASE_PATH, values in ~/.ctrlnode/.env from the installer override stale shell exports so a random PAIRING_TOKEN=test in your profile does not break production pairing.
Example:
Core connection
Workspace: BASE_PATH (replaces AGENTS_FOLDER)
Installers set
BASE_PATH (not AGENTS_FOLDER). This is the “workspace parent” you choose at install time — where task folders and Bridge metadata are stored.
Project work directory is separate: it is configured per project in the web app (repositoryPaths), not via a Bridge env var. See Tasks — work modes.
Providers: no PROVIDERS env var
The Bridge always loads all built-in providers:
Routing is driven by CtrlNode: on connect the server sends
sync_{provider}_agents for each CLI type. The Bridge maps each agent id → provider. Install only the CLIs you use; missing tools fail tasks with clear errors instead of silent mis-routing.
If
openclaw.json is missing, OpenClaw is skipped at runtime with a warning — other providers still work.OpenClaw paths
Provider credentials (summary)
Hermes-specific
See Hermes provider.
Timers and watcher
Per-provider
*_TIMEOUT_MINUTES default to 10 (Hermes 15).
Debugging
Run
ctrlnode in a terminal and watch stderr for handshake_sent, sync_*_agents, and provider warnings.
Troubleshooting
Bridge disconnected
Bridge disconnected
Confirm
ctrlnode is running, PAIRING_TOKEN in ~/.ctrlnode/.env is current, and shell PAIRING_TOKEN is unset.Wrong provider ran the task
Wrong provider ran the task
Match the agent’s agent type in Team to the installed CLI. Do not set
PROVIDERS — it has no effect. Reconnect Bridge after creating agents.Tasks write outside the repo in WORK DIRECTORY mode
Tasks write outside the repo in WORK DIRECTORY mode
Ensure the project has a Project work directory configured and the task mode is WORK DIRECTORY. See Task work modes.