Skip to content

Environment variables

Every package configures itself through a typed ModuleSettings subclass. You rarely need to set much — defaults are sensible — but here’s how it works and the variables that matter.

ModuleSettings resolves each field through a fixed precedence (highest first):

  1. explicit keyword overrides in code
  2. values on the KaosContext
  3. KAOS_<MOD>_* environment variables
  4. documented legacy-alias env vars
  5. a .env file
  6. the field’s default

Secrets (API keys) are held in pydantic.SecretStr and redacted from logs, errors, CLI/JSON output, and serialized settings.

PackageEnv prefixNotable variables
kaos-coreKAOS_storage/VFS, credential-store tier
kaos-llm-clientKAOS_LLM_provider keys (below); KAOS_LLM_ALLOW_INSECURE_BASE_URL (local models)
kaos-llm-coreKAOS_LLM_CORE_default model, optimizer/budget defaults
kaos-agentsKAOS_AGENT_KAOS_AGENT_DEFAULT_LLM_MODEL, KAOS_AGENT_MAX_COST_USD, context budget, retrieval threshold, max iterations
kaos-mcpKAOS_MCP_transport/host/port; HTTP auth token
kaos-sourceKAOS_SOURCE_connector timeouts, *_USER_AGENT (EDGAR needs an email), GovInfo API key
kaos-webKAOS_WEB_KAOS_WEB_SERPAPI_API_KEY / EXA / BRAVE (optional search); KAOS_WEB_HTTP_TOKEN
kaos-nlp-transformersKAOS_NLP_TRANSFORMERS_..._OFFLINE, ..._CACHE_DIR, ..._EMBEDDING_CACHE_DIR, HTTP token
kaos-tabular / kaos-pdf / kaos-office / kaos-graph / kaos-nlp-core / kaos-ml-core / kaos-citations / kaos-names / kaos-uiKAOS_<MOD>_per-module knobs; mostly defaults

kaos-content ships no environment variables — its safety knobs are call-site arguments (allow_raw_html, size caps).

For live LLM calls (the offline FunctionClient path needs none):

Terminal window
export ANTHROPIC_API_KEY=sk-... # documented default (Haiku)
export OPENAI_API_KEY=sk-...
export GOOGLE_API_KEY=...

The KAOS_LLM_* equivalents (e.g. KAOS_LLM_ANTHROPIC_API_KEY) take precedence when set. See compatibility for provider caveats.

The authoritative list for any package is its ModuleSettings subclass and --help:

Terminal window
uv run --with kaos-agents kaos-agent --help