BOTMUX_DASHBOARD_HOST | 0.0.0.0 | Dashboard HTTP bind address |
BOTMUX_DASHBOARD_PORT | 7891 | Dashboard HTTP port |
BOTMUX_DASHBOARD_EXTERNAL_HOST | WEB_EXTERNAL_HOST or auto-detect | Host used in URLs the CLI prints |
BOTMUX_PUBLIC_URL | (unset) | Self-hosted reverse-proxy base (scheme://host[:port]). Set it when you don't use the central platform but front the dashboard with your own nginx etc. on a single public/intranet domain; dashboard and card terminal links then emit <base>/… and <base>/s/<sessionId> through the dashboard front door, with no per-bot port. Unset falls back to the local host:port. Must be written into ~/.botmux/.env (a restart launched from inside a session reads only the file, it does not inherit the shell) |
BOTMUX_DEVBOX_AUTO_EXPORT | 1 | On a Merlin Devbox with an exportable Dashboard port, automatically creates or reuses a private short link. Skipped when the central platform or BOTMUX_PUBLIC_URL is configured. Set to 0 or false to disable — either in ~/.botmux/.env or exported in the shell that launches the fleet: the dashboard picks it up from the file through the allowlist, and the CLI (which does not dotenv-load at all) reads that same file directly, so both sides resolve the switch identically. Failures and timeouts fall back silently to the local URL. |
BOTMUX_DAEMON_IPC_BASE_PORT | 7892 | Each daemon's IPC port = base + botIndex |
BOTMUX_WORKFLOW_RUNS_DIR | ~/.botmux/workflow-runs | Workflow run storage directory |
BOTMUX_DASHBOARD_PUBLIC_READONLY | true | Allow tokenless access to the Dashboard's allow-listed read-only APIs / SSE. Once this switch has been saved in Dashboard Settings, the value persisted in ~/.botmux/config.json takes precedence over this environment variable |
BOTMUX_COMPANION_SECRET_FILE | (unset) | Dedicated HMAC secret-file path for the closed Local Companion API, normally set by start/restart --companion-secret-file. Botmux strictly requires a canonical absolute path, current-user ownership, non-symlink regular file, 0600, and nonempty content. It is not passed to session CLIs and never falls back to .dashboard-secret. |
BOTMUX_COMPANION_BOT_APP_ID | (unset) | The single isolated test Bot bound to the Companion API, normally set by start/restart --companion-bot. Callers cannot select a Bot. |