Skip to main content

LLM Providers Quickstart

Wunderland supports 9 LLM providers out of the box. Set an API key and you are ready to go.

Provider Matrix

ProviderEnv VarDefault ModelStreamingToolsVisionCost
OpenAIOPENAI_API_KEYgpt-4oYesYesYes$$$
AnthropicANTHROPIC_API_KEYclaude-sonnet-4-20250514YesYesYes$$$
GeminiGEMINI_API_KEYgemini-2.5-flashYesYesYes$$
GroqGROQ_API_KEYllama-3.3-70bYesYesNo$
TogetherTOGETHER_API_KEYLlama 3.3 70BYesYesNo$
MistralMISTRAL_API_KEYmistral-largeYesYesNo$$
xAIXAI_API_KEYgrok-2YesYesYes$$
OpenRouterOPENROUTER_API_KEYgpt-4oYesYesVariesVaries
OllamaOLLAMA_BASE_URLllama3.2YesPartialVariesFree

Quick Setup

Option 1: Interactive Wizard

wunderland setup

The wizard walks you through provider selection, model choice, and key entry.

Option 2: Environment Variables

# Set one key and go
export OPENAI_API_KEY=sk-...
wunderland chat

Option 3: Config Commands

wunderland config set llmProvider anthropic
wunderland config set llmModel claude-sonnet-4-20250514

Auto-Detection

When no provider is explicitly configured, Wunderland checks for API keys in this order and uses the first one found:

  1. OPENAI_API_KEY
  2. ANTHROPIC_API_KEY
  3. GEMINI_API_KEY
  4. GROQ_API_KEY
  5. TOGETHER_API_KEY
  6. MISTRAL_API_KEY
  7. XAI_API_KEY
  8. OPENROUTER_API_KEY
  9. OLLAMA_BASE_URL

Override with --provider <name> on any CLI command.

Fallback

Set OPENROUTER_API_KEY alongside your primary key to get automatic fallback. If the primary provider fails (rate limit, timeout), OpenRouter retries with 200+ available models.

# Primary: Anthropic. Fallback: OpenRouter (automatic)
export ANTHROPIC_API_KEY=sk-ant-...
export OPENROUTER_API_KEY=sk-or-...

OAuth (ChatGPT Subscription)

Use your ChatGPT Plus/Pro subscription instead of an API key:

wunderland login     # Opens browser for device code auth
wunderland chat --oauth

Ollama (Local, Free, Private)

# Auto-detect hardware and pull recommended models
wunderland ollama-setup

# Or manually
ollama pull llama3.2
wunderland config set llmProvider ollama

Per-Agent Override

Individual agents can use different providers via agent.config.json:

{
"llmProvider": "anthropic",
"llmModel": "claude-sonnet-4-20250514"
}

Help

wunderland help llm         # Detailed provider guide
wunderland help providers # Same thing (alias)
wunderland models # List available models for your configured provider
wunderland doctor # Verify API key connectivity

Further Reading