Provider Configuration
The providers object in your config maps provider names to their configuration.
Provider Config Fields
| Field | Required | Description |
|---|---|---|
type | Yes | Provider type (see below) |
model | Yes | Model identifier |
baseUrl | No | Custom API base URL |
apiKeyEnv | No | Environment variable name for API key |
headers | No | Additional HTTP headers |
module | No | Path to custom provider module |
capabilities | No | Explicit capability list |
apiStyle | No | "responses" or "chat" (OpenAI only) |
Example: Multiple Providers
{
"providers": {
"local": {
"type": "heuristic",
"model": "heuristic-v1"
},
"openai": {
"type": "openai",
"model": "gpt-4o",
"apiKeyEnv": "OPENAI_API_KEY"
},
"claude": {
"type": "anthropic",
"model": "claude-sonnet-4-20250514",
"apiKeyEnv": "ANTHROPIC_API_KEY"
}
},
"tasks": {
"compileProvider": "openai",
"queryProvider": "claude",
"lintProvider": "local",
"visionProvider": "openai"
}
}Each task can use a different provider. The local heuristic provider is always available as a fallback.