Skip to content

Model Providers

This page covers LLM/model providers (not chat channels like WhatsApp/Telegram). For model selection rules, see /concepts/models.

  • Model refs use provider/model (example: opencode/claude-opus-4-6).
  • If you set agents.defaults.models, it becomes the allowlist.
  • CLI helpers: coderclaw onboard, coderclaw models list, coderclaw models set <provider/model>.
  • Supports generic provider rotation for selected providers.
  • Configure multiple keys via:
    • CODERCLAW_LIVE_<PROVIDER>_KEY (single live override, highest priority)
    • <PROVIDER>_API_KEYS (comma or semicolon list)
    • <PROVIDER>_API_KEY (primary key)
    • <PROVIDER>_API_KEY_* (numbered list, e.g. <PROVIDER>_API_KEY_1)
  • For Google providers, GOOGLE_API_KEY is also included as fallback.
  • Key selection order preserves priority and deduplicates values.
  • Requests are retried with the next key only on rate-limit responses (for example 429, rate_limit, quota, resource exhausted).
  • Non-rate-limit failures fail immediately; no key rotation is attempted.
  • When all candidate keys fail, the final error is returned from the last attempt.

CoderClaw ships with the pi‑ai catalog. These providers require no models.providers config; just set auth + pick a model.

  • Provider: openai
  • Auth: OPENAI_API_KEY
  • Optional rotation: OPENAI_API_KEYS, OPENAI_API_KEY_1, OPENAI_API_KEY_2, plus CODERCLAW_LIVE_OPENAI_KEY (single override)
  • Example model: openai/gpt-5.1-codex
  • CLI: coderclaw onboard --auth-choice openai-api-key
{
agents: { defaults: { model: { primary: "openai/gpt-5.1-codex" } } },
}
  • Provider: anthropic
  • Auth: ANTHROPIC_API_KEY or claude setup-token
  • Optional rotation: ANTHROPIC_API_KEYS, ANTHROPIC_API_KEY_1, ANTHROPIC_API_KEY_2, plus CODERCLAW_LIVE_ANTHROPIC_KEY (single override)
  • Example model: anthropic/claude-opus-4-6
  • CLI: coderclaw onboard --auth-choice token (paste setup-token) or coderclaw models auth paste-token --provider anthropic
{
agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },
}
  • Provider: openai-codex
  • Auth: OAuth (ChatGPT)
  • Example model: openai-codex/gpt-5.3-codex
  • CLI: coderclaw onboard --auth-choice openai-codex or coderclaw models auth login --provider openai-codex
{
agents: { defaults: { model: { primary: "openai-codex/gpt-5.3-codex" } } },
}
  • Provider: opencode
  • Auth: OPENCODE_API_KEY (or OPENCODE_ZEN_API_KEY)
  • Example model: opencode/claude-opus-4-6
  • CLI: coderclaw onboard --auth-choice opencode-zen
{
agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" } } },
}
  • Provider: google
  • Auth: GEMINI_API_KEY
  • Optional rotation: GEMINI_API_KEYS, GEMINI_API_KEY_1, GEMINI_API_KEY_2, GOOGLE_API_KEY fallback, and CODERCLAW_LIVE_GEMINI_KEY (single override)
  • Example model: google/gemini-3-pro-preview
  • CLI: coderclaw onboard --auth-choice gemini-api-key

Google Vertex, Antigravity, and Gemini CLI

Section titled “Google Vertex, Antigravity, and Gemini CLI”
  • Providers: google-vertex, google-antigravity, google-gemini-cli
  • Auth: Vertex uses gcloud ADC; Antigravity/Gemini CLI use their respective auth flows
  • Antigravity OAuth is shipped as a bundled plugin (google-antigravity-auth, disabled by default).
    • Enable: coderclaw plugins enable google-antigravity-auth
    • Login: coderclaw models auth login --provider google-antigravity --set-default
  • Gemini CLI OAuth is shipped as a bundled plugin (google-gemini-cli-auth, disabled by default).
    • Enable: coderclaw plugins enable google-gemini-cli-auth
    • Login: coderclaw models auth login --provider google-gemini-cli --set-default
    • Note: you do not paste a client id or secret into coderclaw.json. The CLI login flow stores tokens in auth profiles on the gateway host.
  • Provider: zai
  • Auth: ZAI_API_KEY
  • Example model: zai/glm-4.7
  • CLI: coderclaw onboard --auth-choice zai-api-key
    • Aliases: z.ai/* and z-ai/* normalize to zai/*
  • Provider: vercel-ai-gateway
  • Auth: AI_GATEWAY_API_KEY
  • Example model: vercel-ai-gateway/anthropic/claude-opus-4.6
  • CLI: coderclaw onboard --auth-choice ai-gateway-api-key
  • OpenRouter: openrouter (OPENROUTER_API_KEY)
  • Example model: openrouter/anthropic/claude-sonnet-4-5
  • xAI: xai (XAI_API_KEY)
  • Groq: groq (GROQ_API_KEY)
  • Cerebras: cerebras (CEREBRAS_API_KEY)
    • GLM models on Cerebras use ids zai-glm-4.7 and zai-glm-4.6.
    • OpenAI-compatible base URL: https://api.cerebras.ai/v1.
  • Mistral: mistral (MISTRAL_API_KEY)
  • GitHub Copilot: github-copilot (COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN)
  • Hugging Face Inference: huggingface (HUGGINGFACE_HUB_TOKEN or HF_TOKEN) — OpenAI-compatible router; example model: huggingface/deepseek-ai/DeepSeek-R1; CLI: coderclaw onboard --auth-choice huggingface-api-key. See Hugging Face (Inference).

Providers via models.providers (custom/base URL)

Section titled “Providers via models.providers (custom/base URL)”

Use models.providers (or models.json) to add custom providers or OpenAI/Anthropic‑compatible proxies.

Moonshot uses OpenAI-compatible endpoints, so configure it as a custom provider:

  • Provider: moonshot
  • Auth: MOONSHOT_API_KEY
  • Example model: moonshot/kimi-k2.5

Kimi K2 model IDs:

{/moonshot-kimi-k2-model-refs:start/ && null}

  • moonshot/kimi-k2.5
  • moonshot/kimi-k2-0905-preview
  • moonshot/kimi-k2-turbo-preview
  • moonshot/kimi-k2-thinking
  • moonshot/kimi-k2-thinking-turbo {/moonshot-kimi-k2-model-refs:end/ && null}
{
agents: {
defaults: { model: { primary: "moonshot/kimi-k2.5" } },
},
models: {
mode: "merge",
providers: {
moonshot: {
baseUrl: "https://api.moonshot.ai/v1",
apiKey: "${MOONSHOT_API_KEY}",
api: "openai-completions",
models: [{ id: "kimi-k2.5", name: "Kimi K2.5" }],
},
},
},
}

Kimi Coding uses Moonshot AI’s Anthropic-compatible endpoint:

  • Provider: kimi-coding
  • Auth: KIMI_API_KEY
  • Example model: kimi-coding/k2p5
{
env: { KIMI_API_KEY: "sk-..." },
agents: {
defaults: { model: { primary: "kimi-coding/k2p5" } },
},
}

Qwen provides OAuth access to Qwen Coder + Vision via a device-code flow. Enable the bundled plugin, then log in:

Terminal window
coderclaw plugins enable qwen-portal-auth
coderclaw models auth login --provider qwen-portal --set-default

Model refs:

  • qwen-portal/coder-model
  • qwen-portal/vision-model

See /providers/qwen for setup details and notes.

Synthetic provides Anthropic-compatible models behind the synthetic provider:

  • Provider: synthetic
  • Auth: SYNTHETIC_API_KEY
  • Example model: synthetic/hf:MiniMaxAI/MiniMax-M2.1
  • CLI: coderclaw onboard --auth-choice synthetic-api-key
{
agents: {
defaults: { model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.1" } },
},
models: {
mode: "merge",
providers: {
synthetic: {
baseUrl: "https://api.synthetic.new/anthropic",
apiKey: "${SYNTHETIC_API_KEY}",
api: "anthropic-messages",
models: [{ id: "hf:MiniMaxAI/MiniMax-M2.1", name: "MiniMax M2.1" }],
},
},
},
}

MiniMax is configured via models.providers because it uses custom endpoints:

  • MiniMax (Anthropic‑compatible): --auth-choice minimax-api
  • Auth: MINIMAX_API_KEY

See /providers/minimax for setup details, model options, and config snippets.

Ollama is a local LLM runtime that provides an OpenAI-compatible API:

  • Provider: ollama
  • Auth: None required (local server)
  • Example model: ollama/llama3.3
  • Installation: https://ollama.ai
Terminal window
# Install Ollama, then pull a model:
ollama pull llama3.3
{
agents: {
defaults: { model: { primary: "ollama/llama3.3" } },
},
}

Ollama is automatically detected when running locally at http://127.0.0.1:11434/v1. See /providers/ollama for model recommendations and custom configuration.

vLLM is a local (or self-hosted) OpenAI-compatible server:

  • Provider: vllm
  • Auth: Optional (depends on your server)
  • Default base URL: http://127.0.0.1:8000/v1

To opt in to auto-discovery locally (any value works if your server doesn’t enforce auth):

Terminal window
export VLLM_API_KEY="vllm-local"

Then set a model (replace with one of the IDs returned by /v1/models):

{
agents: {
defaults: { model: { primary: "vllm/your-model-id" } },
},
}

See /providers/vllm for details.

Local proxies (LM Studio, vLLM, LiteLLM, etc.)

Section titled “Local proxies (LM Studio, vLLM, LiteLLM, etc.)”

Example (OpenAI‑compatible):

{
agents: {
defaults: {
model: { primary: "lmstudio/minimax-m2.1-gs32" },
models: { "lmstudio/minimax-m2.1-gs32": { alias: "Minimax" } },
},
},
models: {
providers: {
lmstudio: {
baseUrl: "http://localhost:1234/v1",
apiKey: "LMSTUDIO_KEY",
api: "openai-completions",
models: [
{
id: "minimax-m2.1-gs32",
name: "MiniMax M2.1",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 200000,
maxTokens: 8192,
},
],
},
},
},
}

Notes:

  • For custom providers, reasoning, input, cost, contextWindow, and maxTokens are optional. When omitted, CoderClaw defaults to:
    • reasoning: false
    • input: ["text"]
    • cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }
    • contextWindow: 200000
    • maxTokens: 8192
  • Recommended: set explicit values that match your proxy/model limits.
Terminal window
coderclaw onboard --auth-choice opencode-zen
coderclaw models set opencode/claude-opus-4-6
coderclaw models list

See also: /gateway/configuration for full configuration examples.