EKOSdocs
Docs / Reference Operate

Configuration Reference

Every ekos.toml key.

Keys are kebab-case. Unknown top-level sections are rejected.

Section Key Type Default
[workspace] root path "."
log-level string "info"
log-format pretty|json "pretty"
[observe] paths list of paths [] (["."] from ekos init)
ignore-patterns list of directory names [".ekos", ".git", "target", "node_modules"]
[llm] provider ollama|anthropic|openai unset
model string unset
api-key-env env-var name unset
base-url URL (openai only) OpenAI
context-window int (ollama only) 8192
max-tokens int per pass
[ai] model, max-matches, neighborhood-depth, max-tokens, system-prompt, reason-system-prompt, max-context-chars, source-text-top-k unset
[document-semantics] enabled, max-sections bool, int false, unset
[architecture-reasoning] enabled bool false
[llm-description] enabled bool false
scope modules|symbols|all modules
[binary-reconstruction] enabled bool false
max-slices int 50
min-confidence float 0.5
include-compiler-generated bool false
[embeddings] enabled bool false
provider ollama|openai|mock [llm] provider
model string provider default
api-key-env env-var name OPENAI_API_KEY
cache bool true
[retrieval] rerank "llm" or unset unset
rerank-candidates int built-in
[recover.sql] default-dialect string "generic"
[[recover.sql.dialect-rules]] path-glob, dialect strings —
[security] extra-excluded-globs list []
[[security.extra-patterns]] label, regex strings —
[clickhouse] enable-mcp-query bool false
[[architecture.system-decomposition.overrides]] layer overrides —
[storage] active-container string unset
[[storage.containers]] name, path —
[storage.partition] dimension, time-bucket (default monthly), time-bucket-overrides, segment-backend-url unset
[storage.distributed] coordinator, query-workers host:port unset
[session-memory] enabled bool false
max-note-chars, max-entries-per-session, max-bytes-per-session int 2000, 200, 262144
capture-retention-days int 14
extraction bool (LLM claim proposals) false
inbox-dir path .ekos/session/inbox
[migrate] enabled bool false
project string (written by ekos migrate init) unset
default-environment string; never production "sandbox"
policy path to the RFC 0161 approval policy migrate.policy.toml
source-named-collection ClickHouse named collection holding the source credential "ekos_migrate_source"
chunk-rows int 100000
[migrate.connections.<alias>] host, user string required
port int 5432
secret-env env-var name (there is no password key) unset
max-replica-lag-seconds float 30.0
[marketing] publishing agent settings; X publishing stays off until explicitly enabled —

ekos config validate is the check. See also Configuration File and Environment Variables.