docs/advanced/configuration.mdx
Configure Strix using environment variables or a config file.
Finding deduplication is a cheap, structured classification task. By default it runs on the main model, but you can route it to a smaller/cheaper model without affecting the agents that do the actual testing.
<ParamField path="STRIX_DEDUPE_MODEL" type="string"> Model used to judge whether a candidate finding duplicates an existing report. Falls back to `STRIX_LLM` when unset. </ParamField> <ParamField path="DEDUPE_LLM_API_KEY" type="string"> Optional provider key for the deduplication model. </ParamField> <ParamField path="DEDUPE_LLM_API_BASE" type="string"> Optional custom API base URL for the deduplication model. Use when the dedupe model runs on a different endpoint than the main model. </ParamField> <ParamField path="DEDUPE_LLM_EXTRA_HEADERS" type="string"> Optional JSON object of extra HTTP headers sent on every deduplication-model request, e.g. `{"X-Feature-Key":"value"}`. A dedicated dedupe model never inherits `LLM_EXTRA_HEADERS`; set this when its endpoint needs custom headers. </ParamField> <ParamField path="STRIX_DEDUPE_REASONING_EFFORT" type="string"> Reasoning effort for the deduplication model. Defaults to the model's own baseline when unset. </ParamField>When remote OTEL vars are not set, Strix still writes complete run telemetry locally to:
strix_runs/<run_name>/events.jsonl
When remote vars are set, Strix dual-writes telemetry to both local JSONL and the remote OTEL endpoint.
Strix stores configuration in ~/.strix/cli-config.json. You can also specify a custom config file:
strix --target ./app --config /path/to/config.json
Config file format:
{
"env": {
"STRIX_LLM": "openai/gpt-5.4",
"LLM_API_KEY": "sk-...",
"STRIX_REASONING_EFFORT": "high"
}
}
# Required
export STRIX_LLM="openai/gpt-5.4"
export LLM_API_KEY="sk-..."
# Optional: Enable web search
export PERPLEXITY_API_KEY="pplx-..."
# Optional: Custom timeouts
export LLM_TIMEOUT="600"
export STRIX_SANDBOX_EXECUTION_TIMEOUT="300"