All Attest configuration is driven by environment variables. No config files are required.
Variable Purpose Default ATTEST_ENGINE_PATHAbsolute path to engine binary — skips all discovery unset ATTEST_ENGINE_NO_DOWNLOAD1 / true / yes disables auto-downloadunset (download enabled)
The SDK resolves the engine binary in this order:
→ ~/.attest/bin/ (shared cache, version-checked)
→ ../../bin/ (monorepo dev layout)
→ auto-download from GitHub Releases
Variable Purpose Default Since ATTEST_ENGINE_TIMEOUTMax seconds to wait for an engine response before the SDK raises a timeout error 30v0.5.1 ATTEST_SIMULATIONEnable simulation mode — deterministic mock results, no engine process, no API calls unset v0.4.0
Variable Purpose Default Since ATTEST_BUDGET_MAX_COSTMaximum USD spend per evaluation. Assertions that would exceed this limit are skipped with a budget error. Applies to judge (L6) and embedding (L5) assertions. unset (unlimited) v0.5.1 ATTEST_RATE_LIMIT_OPENAIRate limit for OpenAI API calls (requests per minute) unset v0.4.0
Variable Purpose Default Since ATTEST_JUDGE_CACHE_MAX_MBMaximum size in MB for the LLM judge response cache. Uses LRU eviction. Set to 0 to disable caching. 100v0.5.1 ATTEST_CACHE_DIRDirectory for all Attest caches (judge, embeddings, engine binary) ~/.attest/cachev0.4.0
Variable Purpose Default Since ATTEST_HISTORY_MAX_ROWSMaximum number of rows in the SQLite history store. Oldest rows are deleted when the limit is exceeded. 10000v0.5.1 ATTEST_HISTORY_MAX_AGE_DAYSAuto-delete evaluation results older than this many days 90v0.5.1
Variable Purpose Default Since ATTEST_CONTINUOUS_QUEUE_SIZEMaximum number of pending evaluations in the continuous eval queue. When full, new submissions block until space is available (backpressure). 1000v0.5.1
Variable Purpose Default OPENAI_API_KEYOpenAI API key for judge and embedding assertions unset ANTHROPIC_API_KEYAnthropic API key for judge assertions unset ATTEST_GEMINI_API_KEYGoogle Gemini API key unset ATTEST_OLLAMA_BASE_URLOllama server URL http://localhost:11434
Variable Purpose Default ATTEST_JUDGE_PROVIDERLLM provider for judge assertions: openai, anthropic, gemini, ollama openaiATTEST_JUDGE_MODELModel name for judge assertions gpt-4.1
Variable Purpose Default ATTEST_EMBEDDING_PROVIDEREmbedding provider: auto, openai, onnx auto
auto selects ONNX (free, local) when available, falling back to OpenAI.
ATTEST_BUDGET_MAX_COST = 1.00
ATTEST_JUDGE_CACHE_MAX_MB = 100
ATTEST_HISTORY_MAX_ROWS = 10000
ATTEST_HISTORY_MAX_AGE_DAYS = 90
ATTEST_CONTINUOUS_QUEUE_SIZE = 1000
ATTEST_JUDGE_PROVIDER = openai
ATTEST_JUDGE_MODEL = gpt-4.1