What a provider file contains
Every provider file contains aproviders list. Each entry in the list has three parts:
id— the provider type string that selects the execution backend, such asopenai:codex-sdk,openai:gpt-4o,anthropic:claude-3-5-sonnet-latest, orhttp.label— a human-readable name shown in reports and artifact filenames.config— a block of provider-specific settings such asmodel,working_dir,sandbox_mode,url,headers, andbody.
providers.codex-sdk.yaml
providers.http.yaml
Path handling
Pass your provider file to Promptbeat using the--provider-file flag on generate and eval. Promptbeat resolves working_dir and cwd values inside the config block relative to the provider file’s own location — not relative to your shell’s current directory. This keeps paths stable when generated configs are written to an artifacts/ subdirectory.
Credential handling
Use environment variables for all credentials. Reference them in provider YAML with the{{env.VAR_NAME}} syntax — Promptbeat substitutes the value at runtime and never writes the literal key into generated files.
Set variables in your shell before running Promptbeat:
cli_env allowlist over inherit_process_env: true in production. The allowlist passes only the variables Codex needs, rather than the entire invoking shell environment:
Multiple providers
Run a multi-provider comparison by listing more than one provider in a single file or by passing--provider-file more than once. Promptbeat routes each generated probe to all listed providers and writes a combined report that shows pass rates side by side.
providers.comparison.yaml