Environment Variables Reference
Precedence
Effective precedence is:
- CLI flags
MISTER_MORPH_*env varsconfig.yaml- code defaults
Complete Support Rule
All config keys are env-overridable through one rule:
- Prefix with
MISTER_MORPH_ - Convert to upper case
- Replace
.and-with_
Examples:
llm.api_key->MISTER_MORPH_LLM_API_KEYtools.bash.enabled->MISTER_MORPH_TOOLS_BASH_ENABLEDmcp.servers->MISTER_MORPH_MCP_SERVERS
So all fields listed in Config Fields Reference are supported as env vars.
High-Frequency Variables
MISTER_MORPH_CONFIGMISTER_MORPH_LLM_PROVIDERMISTER_MORPH_LLM_ENDPOINTMISTER_MORPH_LLM_MODELMISTER_MORPH_LLM_API_KEYMISTER_MORPH_SERVER_AUTH_TOKENMISTER_MORPH_CONSOLE_PASSWORDMISTER_MORPH_CONSOLE_PASSWORD_HASHMISTER_MORPH_TELEGRAM_BOT_TOKENMISTER_MORPH_SLACK_BOT_TOKENMISTER_MORPH_SLACK_APP_TOKENMISTER_MORPH_LINE_CHANNEL_ACCESS_TOKENMISTER_MORPH_LINE_CHANNEL_SECRETMISTER_MORPH_LARK_APP_IDMISTER_MORPH_LARK_APP_SECRETMISTER_MORPH_FILE_STATE_DIRMISTER_MORPH_FILE_CACHE_DIR
${ENV_VAR} Expansion Inside Config
All string values in config support ${ENV_VAR} expansion.
yaml
llm:
api_key: "${OPENAI_API_KEY}"
mcp:
servers:
- name: remote
headers:
Authorization: "Bearer ${MCP_REMOTE_TOKEN}"Notes:
- only
${NAME}form is expanded - bare
$NAMEis not expanded - missing vars become empty string with warning
Compatibility / Special Env Vars
TELEGRAM_BOT_TOKEN- fallback for
mistermorph telegram send - preferred var is still
MISTER_MORPH_TELEGRAM_BOT_TOKEN
- fallback for
NO_COLORandTERM=dumb- affect CLI color output behavior only
Practical Pattern
For secrets, keep config value as ${ENV_VAR} and set the secret in runtime environment.