Environment Variables
Override YeePilot settings with environment variables for temporary changes, automation, and secure secret handling.
Last updated: May 15, 2026
Why Use Environment Variables?
Environment variables are useful when you want to:
- keep secrets out of
config.yml - make a temporary change for one shell session
- run YeePilot in automation or CI
- override a default without editing the file on disk
Environment variables take precedence over ~/.yeepilot/config.yml.
Naming Pattern
Use this rule:
- start with
YEEPILOT_ - convert the config key to uppercase
- replace dots with underscores
Examples:
| Config key | Environment variable |
|---|---|
ai.provider | YEEPILOT_AI_PROVIDER |
ai.model | YEEPILOT_AI_MODEL |
ai.vibe_coding | YEEPILOT_AI_VIBE_CODING |
security.mode | YEEPILOT_SECURITY_MODE |
sandbox.network_access | YEEPILOT_SANDBOX_NETWORK_ACCESS |
tui.theme | YEEPILOT_TUI_THEME |
vault.auto_lock_duration | YEEPILOT_VAULT_AUTO_LOCK_DURATION |
update.channel | YEEPILOT_UPDATE_CHANNEL |
Commonly Useful Overrides
Provider and model
bash
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4oAPI endpoint and limits
bash
export YEEPILOT_AI_BASE_URL=http://localhost:11434/v1
export YEEPILOT_AI_MAX_TOKENS=4096
export YEEPILOT_AI_TOKEN_MODE=saver
export YEEPILOT_AI_THINK_MODE=mediumCoding-agent local toggle
bash
export YEEPILOT_AI_VIBE_CODING=falseThis is the local device-level switch for coding-agent capability when your active plan allows it.
Safety and sandbox
bash
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_SECURITY_REQUIRE_CONFIRMATION=true
export YEEPILOT_SANDBOX_ENABLED=true
export YEEPILOT_SANDBOX_NETWORK_ACCESS=falseTUI and file behavior
bash
export YEEPILOT_TUI_THEME=dark
export YEEPILOT_TUI_LIVE_STREAM_PANEL_ENABLED=true
export YEEPILOT_FILES_CLIPBOARD_PASTE_MODE=autoUpdates
bash
export YEEPILOT_UPDATE_CHANNEL=public
export YEEPILOT_UPDATE_AUTO_CHECK=trueProtected canary example:
bash
export YEEPILOT_UPDATE_CHANNEL=canary
export YEEPILOT_UPDATE_CHANNEL_TOKEN=your-protected-tokenProvider-Specific API Key Variables
YeePilot also understands the standard provider variables:
| Variable | Provider |
|---|---|
OPENAI_API_KEY | OpenAI |
ANTHROPIC_API_KEY | Anthropic |
OPENROUTER_API_KEY | OpenRouter |
If YEEPILOT_AI_API_KEY is set, it takes priority over the provider-specific variable.
Useful Session-Only Examples
One shell session with a different provider
bash
YEEPILOT_AI_PROVIDER=anthropic \
YEEPILOT_AI_MODEL=claude-sonnet-4-20250514 \
ANTHROPIC_API_KEY=... \
yeepilotForce strict local review
bash
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_reviewKeep local coding tools disabled on this machine
bash
export YEEPILOT_AI_VIBE_CODING=falseCI And Automation Example
bash
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o
export OPENAI_API_KEY="$OPENAI_SECRET"
export YEEPILOT_SECURITY_MODE=strict
yeepilot exec "check disk usage and summarize the result"What Most End Users Should Not Rely On
You may see references to ai.agent_mode in older material. That key is legacy compatibility and should not be your main end-user control. Use:
/plan/autonomyai.vibe_coding
for modern day-to-day behavior.