Provider Configuration

The providers object in your config maps provider names to their configuration.

Provider Config Fields

FieldRequiredDescription
typeYesProvider type (see below)
modelYesModel identifier
baseUrlNoCustom API base URL
apiKeyEnvNoEnvironment variable name for API key
headersNoAdditional HTTP headers
moduleNoPath to custom provider module
capabilitiesNoExplicit capability list
apiStyleNo"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.