Skip to main content

Configuration

wendell run reads a TOML config file, usually wendell.toml.

Minimal hosted-suite config

project = "refund-agent"
mode = "advisory"
agent = "refund_agent"
agent_command = "python scripts/wendell_agent_adapter.py"
agent_timeout_seconds = 120
upload_traces = true

[gates]
suite_min_score = 0.80
scenario_min_score = 0.75
critical_failures_allowed = 0

When you run a hosted suite with wendell run --suite, Wendell resolves the locked runtime assets from the published suite. Production configs should name the suite at the command line and keep internal runtime identifiers out of wendell.toml.

Fields

FieldRequiredDescription
projectyesCustomer project slug or name.
modenoadvisory or blocking. Defaults to advisory.
api_urlnoAPI URL override. Production is the default.
api_key_envnoEnv var for API key. Defaults to WENDELL_INKPASS_API_KEY.
agentnoAgent name shown in results.
agent_commandyes for hosted runtimeCommand that runs the local agent adapter.
agent_timeout_secondsnoMaximum seconds Wendell waits for one adapter invocation. Defaults to 120.
upload_tracesnoUpload traces/results. Defaults to true.

Internal compatibility fields for local/offline development are intentionally omitted from this reference. Production projects should use hosted suites and wendell run --suite.

If you are writing a local JSON suite by hand, see the Assertions Tutorial for the suite field and assertion file format.

Gates

[gates]
suite_min_score = 0.90
scenario_min_score = 0.85
critical_failures_allowed = 0

In advisory mode, failed gates are reported but the process exits successfully.

In blocking mode, failed gates return a nonzero exit code.

Environment files

The CLI loads .env files from:

  1. The current working directory.
  2. The config file directory.
  3. The project directory resolved from the config.

Use this for local non-secret adapter settings. Keep production secrets in your CI secret store.

Agent timeout

Wendell waits up to 120 seconds for each agent_command invocation by default. Increase this when your production agent legitimately needs more time for hosted tool calls or long-running workflows:

agent_timeout_seconds = 300

Agent command

agent_command is parsed into command-line arguments and executed directly, without a shell. Use an executable plus arguments:

agent_command = "python scripts/wendell_agent_adapter.py --profile production"

Do not put shell-only behavior in this value. For pipes, redirects, &&, command substitution, or environment setup, wrap the logic in your adapter script or set environment variables in your shell or CI workflow.

API URL override

Production is the default API target. Only pass an API URL when you are using a staging, preview, or local API.

wendell run \
--suite refund-agent-regression \
--api-url http://localhost:8000

You can also set an override in wendell.toml:

api_url = "http://localhost:8000"