Skip to main content

Model providers

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

Quick rules

  • Model refs use provider/model (example: opencode/claude-opus-4-5).
  • If you set agents.defaults.models, it becomes the allowlist.
  • CLI helpers: clawdia onboard, clawdia models list, clawdia models set <provider/model>.

Built-in providers (pi-ai catalog)

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

OpenAI

  • Provider: openai
  • Auth: OPENAI_API_KEY
  • Example model: openai/gpt-5.2
  • CLI: clawdia onboard --auth-choice openai-api-key
{
  agents: { defaults: { model: { primary: "openai/gpt-5.2" } } }
}

Anthropic

  • Provider: anthropic
  • Auth: ANTHROPIC_API_KEY or claude setup-token
  • Example model: anthropic/claude-opus-4-5
  • CLI: clawdia onboard --auth-choice token (paste setup-token) or clawdia models auth paste-token --provider anthropic
{
  agents: { defaults: { model: { primary: "anthropic/claude-opus-4-5" } } }
}

OpenAI Code (Codex)

  • Provider: openai-codex
  • Auth: OAuth or Codex CLI (~/.codex/auth.json)
  • Example model: openai-codex/gpt-5.2
  • CLI: clawdia onboard --auth-choice openai-codex or codex-cli
{
  agents: { defaults: { model: { primary: "openai-codex/gpt-5.2" } } }
}

OpenCode Zen

  • Provider: opencode
  • Auth: OPENCODE_API_KEY (or OPENCODE_ZEN_API_KEY)
  • Example model: opencode/claude-opus-4-5
  • CLI: clawdia onboard --auth-choice opencode-zen
{
  agents: { defaults: { model: { primary: "opencode/claude-opus-4-5" } } }
}

Google Gemini (API key)

  • Provider: google
  • Auth: GEMINI_API_KEY
  • Example model: google/gemini-3-pro-preview
  • CLI: clawdia onboard --auth-choice gemini-api-key

Google Vertex / Antigravity / 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: clawdia plugins enable google-antigravity-auth
    • Login: clawdia 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: clawdia plugins enable google-gemini-cli-auth
    • Login: clawdia models auth login --provider google-gemini-cli --set-default
    • Note: you do not paste a client id or secret into clawdia.json. The CLI login flow stores tokens in auth profiles on the gateway host.

Z.AI (GLM)

  • Provider: zai
  • Auth: ZAI_API_KEY
  • Example model: zai/glm-4.7
  • CLI: clawdia onboard --auth-choice zai-api-key
    • Aliases: z.ai/* and z-ai/* normalize to zai/*

Vercel AI Gateway

  • Provider: vercel-ai-gateway
  • Auth: AI_GATEWAY_API_KEY
  • Example model: vercel-ai-gateway/anthropic/claude-opus-4.5
  • CLI: clawdia onboard --auth-choice ai-gateway-api-key

Other built-in providers

  • 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)

Providers via models.providers (custom/base URL)

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

Moonshot AI (Kimi)

Moonshot uses OpenAI-compatible endpoints, so configure it as a custom provider:
  • Provider: moonshot
  • Auth: MOONSHOT_API_KEY
  • Example model: moonshot/kimi-k2-0905-preview
  • Kimi K2 model IDs:
    • moonshot/kimi-k2-0905-preview
    • moonshot/kimi-k2-turbo-preview
    • moonshot/kimi-k2-thinking
    • moonshot/kimi-k2-thinking-turbo
{
  agents: {
    defaults: { model: { primary: "moonshot/kimi-k2-0905-preview" } }
  },
  models: {
    mode: "merge",
    providers: {
      moonshot: {
        baseUrl: "https://api.moonshot.ai/v1",
        apiKey: "${MOONSHOT_API_KEY}",
        api: "openai-completions",
        models: [{ id: "kimi-k2-0905-preview", name: "Kimi K2 0905 Preview" }]
      }
    }
  }
}

Kimi Code

Kimi Code uses a dedicated endpoint and key (separate from Moonshot):
  • Provider: kimi-code
  • Auth: KIMICODE_API_KEY
  • Example model: kimi-code/kimi-for-coding
{
  env: { KIMICODE_API_KEY: "sk-..." },
  agents: {
    defaults: { model: { primary: "kimi-code/kimi-for-coding" } }
  },
  models: {
    mode: "merge",
    providers: {
      "kimi-code": {
        baseUrl: "https://api.kimi.com/coding/v1",
        apiKey: "${KIMICODE_API_KEY}",
        api: "openai-completions",
        models: [{ id: "kimi-for-coding", name: "Kimi For Coding" }]
      }
    }
  }
}

Qwen OAuth (free tier)

Qwen provides OAuth access to Qwen Coder + Vision via a device-code flow. Enable the bundled plugin, then log in:
clawdia plugins enable qwen-portal-auth
clawdia 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

Synthetic provides Anthropic-compatible models behind the synthetic provider:
  • Provider: synthetic
  • Auth: SYNTHETIC_API_KEY
  • Example model: synthetic/hf:MiniMaxAI/MiniMax-M2.1
  • CLI: clawdia 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

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

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
# 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.

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, Clawdia 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.

CLI examples

clawdia onboard --auth-choice opencode-zen
clawdia models set opencode/claude-opus-4-5
clawdia models list
See also: /gateway/configuration for full configuration examples.