Skip to content

Environment Variables

Looplia uses environment variables for API keys, model configuration, and development settings.

VariableDescriptionRequired
ANTHROPIC_API_KEYAnthropic API key for ClaudeYes*
ZENMUX_API_KEYZenMux proxy API keyYes*
CLAUDE_CODE_OAUTH_TOKENClaude Code OAuth token (alternative auth)No
Terminal window
# Option 1: Export in current session
export ANTHROPIC_API_KEY=sk-ant-api03-...
# Option 2: Add to shell profile (~/.zshrc or ~/.bashrc)
echo 'export ANTHROPIC_API_KEY=sk-ant-api03-...' >> ~/.zshrc
source ~/.zshrc
# Option 3: Use .env file (for development)
echo 'ANTHROPIC_API_KEY=sk-ant-api03-...' >> .env
env $(cat .env) looplia run writing-kit --file test.md
VariableDescriptionDefault
LOOPLIA_AGENT_MODEL_MAINOverride main agent modelProvider default
LOOPLIA_AGENT_MODEL_EXECUTOROverride skill executor modelProvider default
Terminal window
# Use Opus for main agent
export LOOPLIA_AGENT_MODEL_MAIN=claude-opus-4-20250514
# Use Haiku for executor (faster, cheaper)
export LOOPLIA_AGENT_MODEL_EXECUTOR=claude-haiku-4-20250514
# Run workflow
looplia run writing-kit --file article.md
VariableDescriptionDefault
LOOPLIA_DEVEnable development modefalse
LOOPLIA_DEV_ROOTPath to looplia-core source repository-
LOOPLIA_DEBUGEnable debug loggingfalse

When developing Looplia from source, use dev mode to load plugins directly without running init:

Terminal window
# Enable dev mode
export LOOPLIA_DEV=true
export LOOPLIA_DEV_ROOT=~/projects/looplia-core
# Run from any directory - plugins loaded from source
cd ~/my-content
looplia run writing-kit --file article.md

In dev mode:

  • Plugins are loaded from $LOOPLIA_DEV_ROOT/plugins/
  • Changes to plugin files take effect immediately
  • No need to run looplia init after changes
Terminal window
# Enable debug output
export LOOPLIA_DEBUG=1
# Run with verbose logging
looplia run writing-kit --file test.md

Debug logs are written to ~/.looplia/logs/.

These variables work with the provider system:

VariableDescription
ANTHROPIC_API_KEYUsed when provider is anthropic
ZENMUX_API_KEYUsed when provider is zenmux (auto-mapped to ANTHROPIC_API_KEY for SDK)

When using ZenMux, Looplia automatically maps credentials:

Terminal window
# Set ZenMux key
export ZENMUX_API_KEY=sk-zenmux-...
# Configure ZenMux provider
looplia config provider preset ZENMUX_ZAI_GLM47
# The ZENMUX_API_KEY is automatically used
looplia run writing-kit --file article.md

Environment variables take precedence over config file settings:

  1. Environment variables (highest priority)
  2. Config file (~/.looplia/looplia.setting.json)
  3. Default values (lowest priority)
Terminal window
# This overrides any config file setting
export LOOPLIA_AGENT_MODEL_MAIN=claude-opus-4-20250514
looplia run writing-kit --file article.md

For CI/CD pipelines, set variables in your pipeline configuration:

jobs:
process:
runs-on: ubuntu-latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- run: bunx looplia init --yes
- run: bunx looplia run writing-kit --file content.md --no-streaming
FROM oven/bun:latest
ENV ANTHROPIC_API_KEY=""
RUN bunx looplia init --yes
CMD ["bunx", "looplia", "run", "writing-kit", "--file", "/data/content.md"]
Terminal window
docker run -e ANTHROPIC_API_KEY=sk-ant-... -v ./content:/data my-looplia
VariableTypeDescription
ANTHROPIC_API_KEYstringAnthropic API key
ZENMUX_API_KEYstringZenMux proxy API key
CLAUDE_CODE_OAUTH_TOKENstringOAuth token authentication
LOOPLIA_AGENT_MODEL_MAINstringMain agent model override
LOOPLIA_AGENT_MODEL_EXECUTORstringExecutor model override
LOOPLIA_DEVbooleanEnable development mode
LOOPLIA_DEV_ROOTpathDevelopment source path
LOOPLIA_DEBUGbooleanEnable debug logging