Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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):

  1. Built-in defaults
  2. Config file (REASONKIT_CONFIG)
  3. Environment variables (REASONKIT_*)
  4. Command-line flags (--profile, etc.)