DocsConfigurationEnvironment Variables
Back to Docs
Configuration

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:

  1. start with YEEPILOT_
  2. convert the config key to uppercase
  3. replace dots with underscores

Examples:

Config keyEnvironment variable
ai.providerYEEPILOT_AI_PROVIDER
ai.modelYEEPILOT_AI_MODEL
ai.vibe_codingYEEPILOT_AI_VIBE_CODING
security.modeYEEPILOT_SECURITY_MODE
sandbox.network_accessYEEPILOT_SANDBOX_NETWORK_ACCESS
tui.themeYEEPILOT_TUI_THEME
vault.auto_lock_durationYEEPILOT_VAULT_AUTO_LOCK_DURATION
update.channelYEEPILOT_UPDATE_CHANNEL

Commonly Useful Overrides

Provider and model

bash
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o

API 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=medium

Coding-agent local toggle

bash
export YEEPILOT_AI_VIBE_CODING=false

This 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=false

TUI and file behavior

bash
export YEEPILOT_TUI_THEME=dark
export YEEPILOT_TUI_LIVE_STREAM_PANEL_ENABLED=true
export YEEPILOT_FILES_CLIPBOARD_PASTE_MODE=auto

Updates

bash
export YEEPILOT_UPDATE_CHANNEL=public
export YEEPILOT_UPDATE_AUTO_CHECK=true

Protected canary example:

bash
export YEEPILOT_UPDATE_CHANNEL=canary
export YEEPILOT_UPDATE_CHANNEL_TOKEN=your-protected-token

Provider-Specific API Key Variables

YeePilot also understands the standard provider variables:

VariableProvider
OPENAI_API_KEYOpenAI
ANTHROPIC_API_KEYAnthropic
OPENROUTER_API_KEYOpenRouter

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=... \
yeepilot

Force strict local review

bash
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_review

Keep local coding tools disabled on this machine

bash
export YEEPILOT_AI_VIBE_CODING=false

CI 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
  • /autonomy
  • ai.vibe_coding

for modern day-to-day behavior.