LLM Providers Overview
Clawdius supports multiple LLM providers through a unified interface powered by the genai crate.
Supported Providers
| Provider | Identifier | Default Model | API Key Required |
|---|---|---|---|
| Anthropic | anthropic | claude-sonnet-4-20250514 | Yes |
| OpenAI | openai | gpt-4o | Yes |
| Google Gemini | google | gemini-2.5-flash | Yes |
| xAI Grok | xai | grok-3 | Yes |
| Mistral AI | mistral | mistral-large-latest | Yes |
| DeepSeek | deepseek | deepseek-coder | Yes |
| Ollama | ollama | llama3.2 | No (local) |
| ZAI | zai | zai-default | Yes |
| OpenRouter | openrouter | (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:
- Environment variable (e.g.,
ANTHROPIC_API_KEY) - System keyring (via
clawdius auth set) - Config file
api_keyfield (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
- Anthropic Claude - Claude setup and configuration
- OpenAI - GPT models setup
- Google Gemini - Gemini setup and configuration
- xAI Grok - Grok models setup
- Mistral AI - Mistral models setup
- Ollama - Local model setup
- Custom Providers - Custom endpoints and proxies
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