LLM Providers: Claude, GPT, Gemini, Ollama & More

PocketPaw supports eight LLM providers, from free local models to cloud APIs and multi-provider proxies. This guide covers everything: which provider to pick, which models to use, how they interact with agent backends, and how to configure them.

Quick Start: Which Provider Should I Use?

GoalProviderCostRecommended Backend
Best quality, zero configAnthropicPaid APIClaude Agent SDK
Free cloud API, great qualityGeminiFree tier availableGoogle ADK
Fully local, no cloudOllamaFreeClaude Agent SDK or OpenAI Agents
Use OpenAI modelsOpenAIPaid APIOpenAI Agents or Codex CLI
GitHub Copilot subscriptionCopilotSubscriptionCopilot SDK
100+ models, single APIOpenRouterPay-per-tokenOpenAI Agents
100+ providers via proxyLiteLLMVariesAny backend
Custom endpoint (vLLM, TGI, etc.)OpenAI-CompatibleVariesOpenAI Agents
Tip

New to PocketPaw? Start with Gemini (free) or Anthropic (best quality). You can switch providers at any time from Settings without losing data.

Provider Details

Anthropic (Default)

The recommended provider for maximum capability. Claude models excel at coding, tool use, and complex reasoning.

Configuration:

Terminal window
export POCKETPAW_LLM_PROVIDER="anthropic"
export POCKETPAW_ANTHROPIC_API_KEY="sk-ant-..."
export POCKETPAW_ANTHROPIC_MODEL="claude-sonnet-4-5-20250929"

Available Models:

ModelIDBest For
Claude Sonnet 4.5claude-sonnet-4-5-20250929Best balance of speed and quality (default)
Claude Opus 4.5claude-opus-4-5-20250929Most capable, complex reasoning
Claude Haiku 4.5claude-haiku-4-5-20250929Fastest, cheapest, simple tasks
Claude Sonnet 4claude-sonnet-4-20250514Previous-gen balanced model
Claude Opus 4claude-opus-4-20250514Previous-gen flagship
Info

Get an API key at console.anthropic.com.

Gemini

Google’s Gemini models via their OpenAI-compatible API. Free tier available with generous limits. Internally, PocketPaw routes Gemini through the OpenAI-compatible code path using Google’s endpoint at https://generativelanguage.googleapis.com/v1beta/openai/.

Configuration:

Terminal window
export POCKETPAW_LLM_PROVIDER="gemini"
export POCKETPAW_GOOGLE_API_KEY="AIza..."
export POCKETPAW_GEMINI_MODEL="gemini-2.5-flash"

Available Models:

ModelIDBest For
Gemini 2.5 Flashgemini-2.5-flashBest price-performance (default)
Gemini 2.5 Progemini-2.5-proState-of-the-art reasoning
Gemini 2.5 Flash Litegemini-2.5-flash-liteFastest, cheapest
Gemini 3 Progemini-3-pro-previewLatest flagship (preview)
Gemini 3 Flashgemini-3-flash-previewLatest fast model (preview)
Tip

Get a free API key at AI Studio. The same key is also used for PocketPaw’s image generation tool.

Warning

Gemini 2.0 Flash and 2.0 Flash Lite are deprecated and will be retired on March 31, 2026. Use 2.5 Flash or newer.

Tip

For the best Gemini experience, use the Google ADK backend which has native Gemini support. You can also use Gemini via the OpenAI Agents backend through Google’s OpenAI-compatible endpoint.

Ollama (Local)

Run models entirely on your machine. No API keys, no cloud, no costs. Requires Ollama installed and running.

Configuration:

Terminal window
export POCKETPAW_LLM_PROVIDER="ollama"
export POCKETPAW_OLLAMA_HOST="http://localhost:11434"
export POCKETPAW_OLLAMA_MODEL="llama3.2"

Recommended Models:

Modelollama pullParametersBest For
Llama 3.2ollama pull llama3.23BFast, general use (default)
Llama 3.1ollama pull llama3.18BBetter quality, more VRAM
Qwen 2.5 Coderollama pull qwen2.5-coder7BCoding tasks
Mistralollama pull mistral7BGeneral reasoning
DeepSeek Coder V2ollama pull deepseek-coder-v216BAdvanced coding

Verify connectivity:

Terminal window
pocketpaw --check-ollama

This runs 4 checks: server reachable, model available, API compatibility, and tool calling support.

Info

Ollama automatically skips smart model routing since there’s only one model to route to.

OpenAI

Use OpenAI’s GPT models directly.

Configuration:

Terminal window
export POCKETPAW_LLM_PROVIDER="openai"
export POCKETPAW_OPENAI_API_KEY="sk-..."
export POCKETPAW_OPENAI_MODEL="gpt-4o"

Available Models:

ModelIDBest For
GPT-4ogpt-4oBest overall (default)
GPT-4o Minigpt-4o-miniFast, cost-effective
o1o1Complex reasoning
o3-minio3-miniBalanced reasoning
Tip

For the best OpenAI experience, use the OpenAI Agents backend or Codex CLI backend, which are built for OpenAI models natively.

OpenAI-Compatible

Connect to any endpoint that implements the OpenAI Chat Completions API. This includes hosted services (OpenRouter, Together AI, Fireworks) and self-hosted servers (vLLM, LiteLLM, text-generation-inference).

Configuration:

Terminal window
export POCKETPAW_LLM_PROVIDER="openai_compatible"
export POCKETPAW_OPENAI_COMPATIBLE_BASE_URL="https://openrouter.ai/api/v1"
export POCKETPAW_OPENAI_COMPATIBLE_API_KEY="sk-or-..."
export POCKETPAW_OPENAI_COMPATIBLE_MODEL="anthropic/claude-3.5-sonnet"
export POCKETPAW_OPENAI_COMPATIBLE_MAX_TOKENS=0 # 0 = no limit

Popular services:

ServiceBase URLNotes
OpenRouterhttps://openrouter.ai/api/v1100+ models, pay-per-token
Together AIhttps://api.together.xyz/v1Open-source models
Fireworks AIhttps://api.fireworks.ai/inference/v1Fast inference
LiteLLM Proxyhttp://localhost:4000/v1Self-hosted proxy to any provider
vLLMhttp://localhost:8000/v1Self-hosted model serving

Verify connectivity:

Terminal window
pocketpaw --check-openai-compatible

This runs 2 checks: API connectivity and tool calling support.

Info

The max_tokens setting (0 by default) controls the maximum output tokens per request. Set to 0 for no limit, which is recommended for most models.

Tip

OpenAI-Compatible endpoints work best with the OpenAI Agents backend. They also work with the Claude Agent SDK if the endpoint implements the Anthropic Messages API format (e.g., LiteLLM proxy).

OpenRouter

OpenRouter provides access to 100+ models from multiple providers through a single API. It has a dedicated adapter in PocketPaw with proper authentication handling.

Configuration:

Terminal window
export POCKETPAW_LLM_PROVIDER="openrouter"
export POCKETPAW_OPENROUTER_API_KEY="sk-or-v1-..."
export POCKETPAW_OPENROUTER_MODEL="anthropic/claude-sonnet-4-6"

How it differs from OpenAI-Compatible: While you can use OpenRouter via the generic OpenAI-Compatible provider, the dedicated openrouter provider handles authentication correctly for both the OpenAI and Anthropic API formats. OpenRouter uses ANTHROPIC_AUTH_TOKEN (not ANTHROPIC_API_KEY) for Anthropic-format requests, and the adapter manages this automatically.

Popular models:

ModelSlugProvider
Claude Sonnet 4.6anthropic/claude-sonnet-4-6Anthropic
GPT-4oopenai/gpt-4oOpenAI
Gemini 2.5 Flashgoogle/gemini-2.5-flashGoogle
Llama 3.1 405Bmeta-llama/llama-3.1-405b-instructMeta
DeepSeek V3deepseek/deepseek-chatDeepSeek
Info

Get an API key at openrouter.ai/keys. OpenRouter supports pay-per-token with no monthly minimums.

LiteLLM (100+ Providers)

LiteLLM is a unified interface to 100+ LLM providers including HuggingFace, Ollama, vLLM, Together AI, Groq, Mistral, and more. PocketPaw supports LiteLLM across all four major backends.

Two modes of operation:

  • Proxy mode (recommended): Run a LiteLLM proxy server and point PocketPaw at it. The proxy handles model routing, load balancing, and provider-specific authentication.
  • Direct SDK mode: LiteLLM SDK calls providers directly. Requires LiteLLM-prefixed model names (e.g., anthropic/claude-sonnet-4-6).

Configuration (proxy mode):

Terminal window
export POCKETPAW_LLM_PROVIDER="litellm"
export POCKETPAW_LITELLM_API_BASE="http://localhost:4000"
export POCKETPAW_LITELLM_API_KEY="sk-..." # your proxy master key
export POCKETPAW_LITELLM_MODEL="gpt-4o" # model name as configured in the proxy
export POCKETPAW_LITELLM_MAX_TOKENS=0 # 0 = provider default

Configuration (direct SDK mode):

Terminal window
export POCKETPAW_LLM_PROVIDER="litellm"
export POCKETPAW_LITELLM_API_BASE="" # leave empty for direct mode
export POCKETPAW_LITELLM_API_KEY="sk-ant-..." # the target provider's API key
export POCKETPAW_LITELLM_MODEL="anthropic/claude-sonnet-4-6" # LiteLLM-prefixed name

Backend support:

BackendHow LiteLLM is used
Claude Agent SDKRoutes through proxy via ANTHROPIC_BASE_URL
OpenAI AgentsProxy mode: OpenAI-compat client. Direct mode: native LitellmModel
Google ADKADK’s LiteLlm model wrapper
Copilot SDKProxy as OpenAI-compatible BYOK endpoint
Warning

Direct SDK mode requires prefixed model names. Without a proxy URL, LiteLLM uses the model name prefix to determine routing (e.g., anthropic/claude-sonnet-4-6, openai/gpt-4o). Without a prefix, LiteLLM may route to the wrong provider.

Tip

Start the LiteLLM proxy: litellm --config config.yaml --port 4000. See the LiteLLM docs for proxy setup.

Auto (Default)

When llm_provider is set to "auto" (the default), PocketPaw auto-detects the best available provider:

  1. Anthropic — if POCKETPAW_ANTHROPIC_API_KEY is set
  2. OpenAI — if POCKETPAW_OPENAI_API_KEY is set
  3. Ollama — fallback (no key needed)

This means PocketPaw works out of the box with Ollama if no API keys are configured.


Backend Compatibility Matrix

Each backend has different provider support. Here’s the full compatibility matrix:

ProviderClaude SDKOpenAI AgentsGoogle ADKCodex CLIOpenCodeCopilot SDK
AnthropicYesNoNoNoN/AYes
GeminiNoNoYesNoN/ANo
OllamaYesYesNoNoN/ANo
OpenAINoYesNoYesN/AYes
OpenAI-CompatiblePartialYesNoNoN/ANo
OpenRouterPartialYesNoNoN/ANo
LiteLLMYesYesYesNoN/AYes
FeatureClaude SDKOpenAI AgentsGoogle ADKCodex CLIOpenCodeCopilot SDK
MCP SupportYesNoYesYesNoNo
Built-in Tools9 SDK tools3 tools2 tools4 toolsServer-managed4 tools
StreamingYesYesYesYesYesYes
Local ModelsOllamaOllamaNoNoNoNo
Tip

Not sure which backend to use? Start with Claude Agent SDK (default) for Anthropic or Ollama. Use Google ADK for Gemini. Use OpenAI Agents for OpenAI models or Ollama with OpenAI-format APIs.

The default and most capable backend. Uses the official Claude Agent SDK with built-in agentic tools.

Important: API format requirement. The Claude SDK uses the Anthropic Messages API format. It only works with endpoints that understand this format — not endpoints that only speak OpenAI’s Chat Completions format.

ProviderWorks?How
AnthropicYesNative, just set ANTHROPIC_API_KEY
OllamaYesOllama v0.14+ implements the Anthropic Messages API natively
OpenRouterPartialOnly if the model supports Anthropic format
LiteLLMYesRoutes through LiteLLM proxy via ANTHROPIC_BASE_URL
GeminiNoUse Google ADK backend instead
OpenAINoUse OpenAI Agents backend instead
OpenAI-CompatiblePartialOnly if the endpoint speaks Anthropic format (e.g., LiteLLM proxy)

Built-in SDK tools: Bash, Read, Write, Edit, Glob, Grep, WebSearch, WebFetch, Skill

Security: Uses PreToolUse hooks to intercept and block dangerous Bash commands before execution.

MCP servers: Fully supported. Supports stdio, SSE, and HTTP transports.

Best for: Anthropic and Ollama users who want maximum capability, coding tasks, and tool-heavy workflows.

OpenAI Agents SDK

OpenAI’s native agent framework with GPT model support and Ollama compatibility.

ProviderWorks?How
OpenAIYesNative with openai-agents SDK
OllamaYesVia OpenAIChatCompletionsModel wrapper
OpenAI-CompatibleYesCustom base URL support
OpenRouterYesDedicated adapter with proper auth handling
LiteLLMYesProxy mode (OpenAI-compat) or direct LitellmModel

Built-in tools: code_interpreter, file_search, computer_use

Best for: OpenAI model users, Ollama users who prefer OpenAI-format APIs, or anyone wanting access to 100+ models via OpenRouter or LiteLLM.

Google ADK

Google’s Agent Development Kit with native Gemini support.

ProviderWorks?How
GeminiYesNative via google-adk SDK
LiteLLMYesADK’s LiteLlm model wrapper for cross-provider support

Built-in tools: google_search, code_execution

MCP servers: Native support via McpToolset (stdio, SSE, HTTP).

Best for: Gemini users who want native Google AI integration with MCP support. LiteLLM support enables using non-Gemini models with ADK’s tooling.

Other Backends

  • Codex CLI — OpenAI’s Codex CLI for code-focused tasks. Requires codex binary. MCP support.
  • OpenCode — External server backend. Model managed by the OpenCode server.
  • Copilot SDK — GitHub Copilot with multi-provider support (Copilot, OpenAI, Azure, Anthropic, LiteLLM).

Smart Model Routing

When using Anthropic as the provider, PocketPaw can automatically select the model size based on message complexity. This optimizes cost by using cheaper models for simple queries.

How It Works

Each incoming message is classified into a tier:

TierDescriptionDefault ModelWhen
SimpleGreetings, yes/no, quick factsclaude-haiku-4-5-20251001Short messages matching simple patterns
ModerateGeneral tasks, search, moderate reasoningclaude-sonnet-4-5-20250929Default fallback
ComplexCoding, debugging, multi-step planningclaude-opus-4-6Long messages or 1+ complex keywords

Classification Signals

  • Simple patterns: “hi”, “hello”, “thanks”, “what is X?”, “remind me”, short messages under 30 characters
  • Complex signals: “plan”, “architect”, “debug”, “implement”, “analyze”, “optimize”, “research”
  • Threshold: 1 complex signal + message > 30 chars = COMPLEX; 2+ complex signals = COMPLEX; > 400 chars = COMPLEX

Configuration

Terminal window
export POCKETPAW_SMART_ROUTING_ENABLED=true
export POCKETPAW_MODEL_TIER_SIMPLE="claude-haiku-4-5-20251001"
export POCKETPAW_MODEL_TIER_MODERATE="claude-sonnet-4-5-20250929"
export POCKETPAW_MODEL_TIER_COMPLEX="claude-opus-4-6"
Info

Smart routing is automatically skipped for Ollama, Gemini, and OpenAI-Compatible providers since they use a single configured model.


Configuration Reference

SettingEnv VariableDefaultDescription
llm_providerPOCKETPAW_LLM_PROVIDERautoProvider selection
anthropic_api_keyPOCKETPAW_ANTHROPIC_API_KEYAnthropic API key
anthropic_modelPOCKETPAW_ANTHROPIC_MODELclaude-sonnet-4-5-20250929Anthropic model
google_api_keyPOCKETPAW_GOOGLE_API_KEYGoogle API key (Gemini + image gen)
gemini_modelPOCKETPAW_GEMINI_MODELgemini-2.5-flashGemini model
openai_api_keyPOCKETPAW_OPENAI_API_KEYOpenAI API key
openai_modelPOCKETPAW_OPENAI_MODELgpt-4oOpenAI model
ollama_hostPOCKETPAW_OLLAMA_HOSThttp://localhost:11434Ollama server URL
ollama_modelPOCKETPAW_OLLAMA_MODELllama3.2Ollama model
openai_compatible_base_urlPOCKETPAW_OPENAI_COMPATIBLE_BASE_URLEndpoint URL
openai_compatible_api_keyPOCKETPAW_OPENAI_COMPATIBLE_API_KEYEndpoint API key
openai_compatible_modelPOCKETPAW_OPENAI_COMPATIBLE_MODELEndpoint model name
openai_compatible_max_tokensPOCKETPAW_OPENAI_COMPATIBLE_MAX_TOKENS0Max output tokens (0 = no limit)
openrouter_api_keyPOCKETPAW_OPENROUTER_API_KEYOpenRouter API key (sk-or-v1-…)
openrouter_modelPOCKETPAW_OPENROUTER_MODELOpenRouter model slug
litellm_api_basePOCKETPAW_LITELLM_API_BASEhttp://localhost:4000LiteLLM proxy URL (empty = direct SDK mode)
litellm_api_keyPOCKETPAW_LITELLM_API_KEYLiteLLM proxy master key or provider API key
litellm_modelPOCKETPAW_LITELLM_MODELModel name (proxy mode) or prefixed name (direct mode)
litellm_max_tokensPOCKETPAW_LITELLM_MAX_TOKENS0Max output tokens (0 = provider default)
smart_routing_enabledPOCKETPAW_SMART_ROUTING_ENABLEDtrueEnable auto model selection
model_tier_simplePOCKETPAW_MODEL_TIER_SIMPLEclaude-haiku-4-5-20251001Model for simple tasks
model_tier_moderatePOCKETPAW_MODEL_TIER_MODERATEclaude-sonnet-4-5-20250929Model for moderate tasks
model_tier_complexPOCKETPAW_MODEL_TIER_COMPLEXclaude-opus-4-6Model for complex tasks

Setting via config.json

All settings can also be set in ~/.pocketpaw/config.json:

{
"llm_provider": "gemini",
"gemini_model": "gemini-2.5-flash",
"smart_routing_enabled": false
}

Setting via Dashboard

Open the web dashboard (default at http://localhost:8888) and go to Settings > General to select your provider and model from dropdown menus.


Security Notes

  • API keys are encrypted at rest using Fernet + PBKDF2 in ~/.pocketpaw/secrets.enc. They are never stored in plaintext in config.json.
  • Environment variables override config file values and are never written to disk.
  • The Gemini provider reuses the google_api_key field, which is also used for image generation. One key covers both features.

Troubleshooting

Ollama: “Model not found”

Terminal window
ollama list # See available models
ollama pull llama3.2 # Download a model
pocketpaw --check-ollama # Run connectivity check

Gemini: “API key invalid”

  1. Go to AI Studio and create/verify your key
  2. Make sure the key is saved in Settings > API Keys > Google API Key
  3. Ensure the Gemini API is enabled for your Google Cloud project

OpenAI-Compatible: “Cannot connect”

Terminal window
pocketpaw --check-openai-compatible # Run connectivity check

Verify:

  • The base URL is correct and includes /v1 if needed
  • The server is running and accessible
  • The model name matches what the endpoint expects

Wrong provider being used

If llm_provider is "auto", PocketPaw picks the first available key (Anthropic > OpenAI > Ollama). Set an explicit provider to override:

Terminal window
export POCKETPAW_LLM_PROVIDER="gemini"