Environment Variables
Environment variables override values in ~/.openacp/config.json at startup. They do not modify the config file.
All overrides are applied before Zod schema validation, so the final config is always validated.
OPENACP_TELEGRAM_BOT_TOKEN
channels.telegram.botToken
string
Telegram Bot API token
OPENACP_TELEGRAM_CHAT_ID
channels.telegram.chatId
number
Telegram chat/supergroup ID (parsed as integer)
OPENACP_DISCORD_BOT_TOKEN
channels.discord.botToken
string
Discord bot token
OPENACP_DISCORD_GUILD_ID
channels.discord.guildId
string
Discord server (guild) ID
OPENACP_SLACK_BOT_TOKEN
channels.slack.botToken
string
Slack bot OAuth token (xoxb-...)
OPENACP_SLACK_APP_TOKEN
channels.slack.appToken
string
Slack app-level token for Socket Mode (xapp-...)
OPENACP_SLACK_SIGNING_SECRET
channels.slack.signingSecret
string
Slack signing secret
OPENACP_DEFAULT_AGENT
defaultAgent
string
Agent name to use when none is specified
OPENACP_RUN_MODE
runMode
"foreground" | "daemon"
How openacp starts the server
OPENACP_API_PORT
api.port
number
REST API listen port (parsed as integer)
OPENACP_LOG_LEVEL
logging.level
string
Log level (silent, debug, info, warn, error, fatal)
OPENACP_LOG_DIR
logging.logDir
string
Directory for log files
OPENACP_DEBUG
logging.level → "debug"
any
Set to any non-empty value to enable debug logging. Ignored if OPENACP_LOG_LEVEL is also set.
OPENACP_TUNNEL_ENABLED
tunnel.enabled
boolean
Set to "true" or "false" to enable/disable the tunnel service
OPENACP_TUNNEL_PORT
tunnel.port
number
Tunnel service listen port (parsed as integer)
OPENACP_TUNNEL_PROVIDER
tunnel.provider
string
Tunnel provider (cloudflare, ngrok, bore, tailscale)
OPENACP_SPEECH_STT_PROVIDER
speech.stt.provider
string
Active speech-to-text provider name
OPENACP_SPEECH_GROQ_API_KEY
speech.stt.providers.groq.apiKey
string
API key for the Groq STT provider
OPENACP_CONFIG_PATH
—
string
Override the config file path (default: ~/.openacp/config.json)
Notes
OPENACP_DEBUGis a convenience shorthand. SettingOPENACP_LOG_LEVEL=debugis equivalent and takes precedence.OPENACP_CONFIG_PATHdoes not correspond to a config field; it controls where the config file is read from and is evaluated before any config is loaded.Numeric fields (
OPENACP_TELEGRAM_CHAT_ID,OPENACP_API_PORT,OPENACP_TUNNEL_PORT) are converted to integers automatically.Boolean fields (
OPENACP_TUNNEL_ENABLED) are compared to the string"true"— any other value is treated asfalse.Env vars take precedence over
config.jsonbut are not persisted;openacp config setmodifies the file.
Last updated
Was this helpful?
