LLM Providers Overview

Clawdius supports multiple LLM providers through a unified interface powered by the genai crate.

Supported Providers

ProviderIdentifierDefault ModelAPI Key Required
Anthropicanthropicclaude-sonnet-4-20250514Yes
OpenAIopenaigpt-4oYes
Google Geminigooglegemini-2.5-flashYes
xAI Grokxaigrok-3Yes
Mistral AImistralmistral-large-latestYes
DeepSeekdeepseekdeepseek-coderYes
Ollamaollamallama3.2No (local)
ZAIzaizai-defaultYes
OpenRouteropenrouter(varies)Yes

Selecting a Provider

Via CLI Flag

clawdius chat "Hello" --provider anthropic
clawdius chat "Hello" --provider openai --model gpt-4o

Via Configuration

[llm]
default_provider = "anthropic"

Per-Provider Settings

[llm.anthropic]
model = "claude-sonnet-4-20250514"
api_key_env = "ANTHROPIC_API_KEY"

[llm.openai]
model = "gpt-4o"
api_key_env = "OPENAI_API_KEY"

API Key Priority

Keys are resolved in this order:

  1. Environment variable (e.g., ANTHROPIC_API_KEY)
  2. System keyring (via clawdius auth set)
  3. Config file api_key field (not recommended)

Retry Logic

All providers share a common retry system:

[llm.retry]
max_retries = 3
initial_delay_ms = 1000
max_delay_ms = 30000
exponential_base = 2.0
retry_on = ["rate_limit", "timeout", "server_error", "network_error"]

Retries use exponential backoff with jitter. Rate limit errors (HTTP 429) are automatically retried.

Provider-Specific Pages

Switching Providers

You can switch providers per-command:

# Quick question with OpenAI
clawdius chat "explain this regex" --provider openai

# Deep analysis with Claude
clawdius chat "review architecture" --provider anthropic

# Local development with Ollama
clawdius chat "write tests" --provider ollama --model llama3.2