Environment Variables
🌍 Configure ReasonKit through environment variables.
Environment variables provide a way to configure ReasonKit without modifying config files, making it ideal for CI/CD, Docker, and multi-environment setups.
API Keys
LLM Provider Keys
# Anthropic Claude (Recommended)
export ANTHROPIC_API_KEY="sk-ant-..."
# OpenAI
export OPENAI_API_KEY="sk-..."
# OpenRouter (300+ models)
export OPENROUTER_API_KEY="sk-or-..."
# Google Gemini
export GOOGLE_API_KEY="..."
# XAI (Grok)
export XAI_API_KEY="..."
Priority Order
If multiple keys are set, ReasonKit prioritizes the key for the provider specified by --provider or REASONKIT_PROVIDER.
Configuration Variables
Core Settings
# Path to config file
export REASONKIT_CONFIG="$HOME/.config/reasonkit/config.toml"
# Data directory path
export REASONKIT_DATA_DIR="./data"
# Default profile
export REASONKIT_PROFILE="balanced"
# Default provider
export REASONKIT_PROVIDER="anthropic"
# Default model
export REASONKIT_MODEL="claude-sonnet-4-20250514"
Telemetry
# Enable/disable telemetry (true/false)
export REASONKIT_TELEMETRY="true"
# Telemetry database path
export REASONKIT_TELEMETRY_DB=".rk_telemetry.db"
Docker Usage
FROM rust:latest
RUN cargo install reasonkit-core
ENV ANTHROPIC_API_KEY=""
ENV REASONKIT_PROFILE="balanced"
ENTRYPOINT ["rk-core"]
docker run -e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
reasonkit think "question"
Precedence Order
Settings are applied in this order (later overrides earlier):
- Built-in defaults
- Config file (
REASONKIT_CONFIG) - Environment variables (
REASONKIT_*) - Command-line flags (
--profile, etc.)