Concepts and configuration
Official provider plugins
Official provider plugins
Official provider plugins publish their own model catalog rows. These providers require no models.providers model entries; enable the provider plugin, set auth, and pick a model. Use models.providers only for explicit custom providers or narrow request settings such as timeouts.
OpenAI
- Provider:
openai - Auth:
OPENAI_API_KEY - Optional rotation:
OPENAI_API_KEYS,OPENAI_API_KEY_1,OPENAI_API_KEY_2, plusOPENCLAW_LIVE_OPENAI_KEY(single override) - Fresh setup default:
openai/gpt-5.6-sol. - Example models:
openai/gpt-5.6-sol,openai/gpt-5.6-terra,openai/gpt-5.6-luna,openai/gpt-5.5; the bare direct-APIopenai/gpt-5.6alias remains supported. - Verify account/model availability with
openclaw models list --provider openaiif a specific install or API key behaves differently. - CLI:
openclaw onboard --auth-choice openai-api-key - Direct OpenAI API-key Responses requests default to
"sse". - Override per model via
agents.defaults.models["openai/<model>"].params.transport("sse","websocket","websocket-cached", or"auto"). Cached WebSockets reuse the session connection and send only new input withprevious_response_idwhen history still matches. - Set an explicit OpenAI API service tier with
params.serviceTierorparams.service_tier; Fast mode (formerly Priority processing) usesservice_tier=priority. - On native public OpenAI and ChatGPT/Codex Responses requests, precedence is payload/transport
service_tier, then a valid explicit model param, then the fast-mode default. /fastand validparams.fastMode/params.fast_modevalues are shared agent-runtime controls; on direct embeddedopenai/*Responses requests they supplyservice_tier=priorityonly when no higher-precedence tier exists.- Hidden OpenClaw attribution headers (
originator,version,User-Agent) apply only on native OpenAI traffic toapi.openai.com, not generic OpenAI-compatible proxies - Native OpenAI routes also keep Responses
store, prompt-cache hints, and OpenAI reasoning-compat payload shaping; proxy routes do not openai/gpt-5.3-codex-sparkis available only through ChatGPT/Codex OAuth; direct OpenAI API-key and Azure API-key routes reject it
{ agents: { defaults: { model: { primary: "openai/gpt-5.6-sol" } } },}If the API organization does not expose GPT-5.6, set
openai/gpt-5.5 explicitly. Normal onboarding and reauthentication preserve an
existing explicit primary model; models auth login --set-default and
models set are the intentional replacement paths.
Anthropic
- Provider:
anthropic - Auth:
ANTHROPIC_API_KEY - Optional rotation:
ANTHROPIC_API_KEYS,ANTHROPIC_API_KEY_1,ANTHROPIC_API_KEY_2, plusOPENCLAW_LIVE_ANTHROPIC_KEY(single override) - Example model:
anthropic/claude-opus-5 - CLI:
openclaw onboard --auth-choice apiKey - Direct public Anthropic requests support the shared
/fasttoggle andparams.fastMode, including API-key and OAuth-authenticated traffic sent toapi.anthropic.com; OpenClaw maps that to Anthropicservice_tier(autovsstandard_only) - Preferred Claude CLI config keeps the model ref canonical and selects the CLI
backend separately:
anthropic/claude-opus-5with model-scopedagentRuntime.id: "claude-cli". Legacyclaude-cli/claude-opus-4-7refs still work for compatibility.
{ agents: { defaults: { model: { primary: "anthropic/claude-opus-5" } } },}OpenAI ChatGPT/Codex OAuth
- Provider:
openai - Auth: OAuth (ChatGPT)
- Fresh native Codex app-server harness ref:
openai/gpt-5.6-sol - Native Codex app-server harness docs: Codex harness
- Astra (
openai/gpt-6-astra) defaults tolowreasoning effort to limit routine budget use. The OpenAI provider default is shared by model controls and both runtimes; explicit thinking settings take precedence. - Legacy model refs:
codex/gpt-*,openai-codex/gpt-* - Plugin boundary:
openai/*loads the OpenAI plugin; explicit runtime policy or the provider-owned effective route decides whether the native Codex app-server plugin is selected. - CLI:
openclaw onboard --auth-choice openaioropenclaw models auth login --provider openai - OpenClaw's embedded ChatGPT Responses transport defaults to
auto(WebSocket-first, SSE fallback). agents.defaults.models["openai/<model>"].params.transportandparams.serviceTierare authored embedded-provider request settings. They keep implicit runtime selection on OpenClaw; native Codex owns its app-server transport and service tier.- Valid model-scoped
params.fastMode/params.fast_modevalues and valid cutoff keys are portable typed agent-runtime controls. They do not count as authored provider request params and do not select a runtime. PinagentRuntime.id: "openclaw"oragentRuntime.id: "codex"when a recipe depends on one runtime. - Hidden OpenClaw attribution headers (
originator,version,User-Agent) are only attached on native Codex traffic tochatgpt.com/backend-api, not generic OpenAI-compatible proxies - The shared
/fasttoggle, configured defaults, and valid model-scoped Fast params resolve through one runtime-control policy. See Thinking levels for precedence. - OpenAI API Fast mode is premium-priced and model-specific. GPT-5.6 Sol currently costs 2× Standard token pricing, and long-context multipliers stack. ChatGPT/Codex-credit Fast mode is separate: GPT-5.6 and GPT-5.5 currently consume 2.5× Standard credits, while API-key Codex runs use API token pricing. See Fast mode, API pricing, and Codex speed.
- The native Codex catalog can expose exact
openai/gpt-5.6-sol,openai/gpt-5.6-terra, andopenai/gpt-5.6-lunarefs according to account access. It does not apply the direct API's baregpt-5.6alias client-side. openai/gpt-5.5uses the Codex catalog nativecontextWindow = 400000and default runtimecontextTokens = 272000; override the runtime cap withmodels.providers.openai.models[].contextTokens- Sign in with
openaiauth and useopenai/gpt-5.6-solfor a fresh subscription-backed setup. Selectopenai/gpt-5.5explicitly if that Codex workspace does not expose GPT-5.6. - Use provider/model
agentRuntime.id: "openclaw"to keep an otherwise eligible route on the built-in runtime. With runtime unset orauto, only an exact official HTTPS Responses/ChatGPT-compatible route with no authored provider request override may select Codex implicitly. - Legacy Codex GPT refs are legacy state, not a live provider route. Use canonical
openai/*refs for new agent config, and runopenclaw doctor --fixto migratecodex/*andopenai-codex/*refs while preserving their native Codex semantics with model-scopedagentRuntime.id: "codex". Existing explicit canonicalopenai/gpt-5.5selections are not upgraded.
{ plugins: { entries: { codex: { enabled: true } } }, agents: { defaults: { model: { primary: "openai/gpt-5.6-sol" }, }, },}{ models: { providers: { openai: { models: [{ id: "gpt-5.5", contextTokens: 160000 }], }, }, },}Other subscription-style hosted options
MiniMax Coding Plan OAuth or API key access.
Qwen Cloud provider surface plus Alibaba DashScope and Coding Plan endpoint mapping.
Z.AI Coding Plan or general API endpoints.
OpenCode
- Auth:
OPENCODE_API_KEY(orOPENCODE_ZEN_API_KEY) - Zen runtime provider:
opencode - Go runtime provider:
opencode-go - Example models:
opencode/claude-opus-4-6,opencode-go/kimi-k2.6 - CLI:
openclaw onboard --auth-choice opencode-zenoropenclaw onboard --auth-choice opencode-go
{ agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" } } },}Google Gemini (API key)
- Provider:
google - Auth:
GEMINI_API_KEY - Optional rotation:
GEMINI_API_KEYS,GEMINI_API_KEY_1,GEMINI_API_KEY_2,GOOGLE_API_KEYfallback, andOPENCLAW_LIVE_GEMINI_KEY(single override) - Example models:
google/gemini-3.1-pro-preview,google/gemini-3.5-flash - Compatibility: legacy OpenClaw config using
google/gemini-3.1-flash-previewis normalized togoogle/gemini-3-flash-preview - Alias:
google/gemini-3.1-prois accepted and normalized to Google's live Gemini API id,google/gemini-3.1-pro-preview - CLI:
openclaw onboard --auth-choice gemini-api-key - Thinking:
/think adaptiveuses Google dynamic thinking. Gemini 3/3.1 omit a fixedthinkingLevel; Gemini 2.5 sendsthinkingBudget: -1. - Direct Gemini runs also accept
agents.defaults.models["google/<model>"].params.cachedContent(or legacycached_content) to forward a provider-nativecachedContents/...handle; Gemini cache hits surface as OpenClawcacheRead
Google Vertex and Gemini CLI runtime
google-vertex: managed Google Cloud access through gcloud Application Default Credentials.google-gemini-cli: optional local runtime for an explicitly configured canonicalgoogle/*model.
OpenClaw does not create Gemini CLI OAuth or Antigravity OAuth profiles. Connect Google through an AI Studio API key or Vertex AI. If you explicitly choose the Gemini CLI runtime, it can use the selected Google API-key profile. Existing valid Gemini CLI OAuth profiles remain runtime-compatible, but they are not a setup or recovery route.
Gemini CLI uses stream-json by default. OpenClaw reads assistant stream
messages and normalizes stats.cached into cacheRead; legacy
--output-format json overrides still read reply text from response.
Z.AI (GLM)
- Provider:
zai - Auth:
ZAI_API_KEY - Example model:
zai/glm-5.2 - CLI:
openclaw onboard --auth-choice zai-api-key- Model refs use the canonical
zai/*provider ID. zai-api-keyauto-detects the matching Z.AI endpoint;zai-coding-global,zai-coding-cn,zai-global, andzai-cnforce a specific surface
- Model refs use the canonical
Vercel AI Gateway
- Provider:
vercel-ai-gateway - Auth:
AI_GATEWAY_API_KEY - Example models:
vercel-ai-gateway/anthropic/claude-opus-4.6,vercel-ai-gateway/moonshotai/kimi-k2.6 - CLI:
openclaw onboard --auth-choice ai-gateway-api-key
Other bundled provider plugins
| Provider | Id | Auth env | Example model |
|---|---|---|---|
| Arcee | arcee |
ARCEEAI_API_KEY or OPENROUTER_API_KEY |
arcee/trinity-large-thinking |
| BytePlus | byteplus / byteplus-plan |
BYTEPLUS_API_KEY |
byteplus-plan/ark-code-latest |
| Cerebras | cerebras |
CEREBRAS_API_KEY |
cerebras/zai-glm-4.7 |
| Chutes | chutes |
CHUTES_API_KEY or CHUTES_OAUTH_TOKEN |
chutes/zai-org/GLM-5-TEE |
| ClawRouter | clawrouter |
CLAWROUTER_API_KEY |
clawrouter/anthropic/claude-sonnet-4-6 |
| Cohere | cohere |
COHERE_API_KEY |
cohere/command-a-plus-05-2026 |
| DeepInfra | deepinfra |
DEEPINFRA_API_KEY |
deepinfra/deepseek-ai/DeepSeek-V4-Flash |
| DeepSeek | deepseek |
DEEPSEEK_API_KEY |
deepseek/deepseek-v4-flash |
| Featherless AI | featherless |
FEATHERLESS_API_KEY |
featherless/Qwen/Qwen3-32B |
| GitHub Copilot | github-copilot |
COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN |
- |
| GMI Cloud | gmi |
GMI_API_KEY |
gmi/google/gemini-3.1-flash-lite |
| Groq | groq |
GROQ_API_KEY |
groq/llama-3.3-70b-versatile |
| Hugging Face Inference | huggingface |
HUGGINGFACE_HUB_TOKEN or HF_TOKEN |
huggingface/deepseek-ai/DeepSeek-R1 |
| MiniMax | minimax / minimax-portal |
MINIMAX_API_KEY / MINIMAX_OAUTH_TOKEN |
minimax/MiniMax-M3 |
| Mistral | mistral |
MISTRAL_API_KEY |
mistral/mistral-large-latest |
| Moonshot | moonshot |
MOONSHOT_API_KEY |
moonshot/kimi-k2.6 |
| NVIDIA | nvidia |
NVIDIA_API_KEY |
nvidia/nvidia/nemotron-3-ultra-550b-a55b |
| NovitaAI | novita |
NOVITA_API_KEY |
novita/deepseek/deepseek-v3-0324 |
| Ollama Cloud | ollama-cloud |
OLLAMA_API_KEY |
ollama-cloud/kimi-k2.6 |
| OpenRouter | openrouter |
OpenRouter OAuth or OPENROUTER_API_KEY |
openrouter/auto |
| Qianfan | qianfan |
QIANFAN_API_KEY |
qianfan/deepseek-v3.2 |
| Tencent TokenHub | tencent-tokenhub |
TOKENHUB_API_KEY |
tencent-tokenhub/hy3-preview |
| Together | together |
TOGETHER_API_KEY |
together/meta-llama/Llama-3.3-70B-Instruct-Turbo |
| Venice | venice |
VENICE_API_KEY |
- |
| Vercel AI Gateway | vercel-ai-gateway |
AI_GATEWAY_API_KEY |
vercel-ai-gateway/anthropic/claude-opus-4.6 |
| Volcano Engine (Doubao) | volcengine / volcengine-plan |
VOLCANO_ENGINE_API_KEY |
volcengine-plan/ark-code-latest |
| xAI | xai |
SuperGrok/X Premium OAuth or XAI_API_KEY |
xai/grok-4.6 |
| Xiaomi | xiaomi / xiaomi-token-plan |
XIAOMI_API_KEY / XIAOMI_TOKEN_PLAN_API_KEY |
xiaomi/mimo-v2.5 / xiaomi-token-plan/mimo-v2.5-pro |
Quirks worth knowing
OpenRouter
Applies its app-attribution headers and Anthropic cache_control markers only on verified openrouter.ai routes. DeepSeek, Moonshot, and ZAI refs are cache-TTL eligible for OpenRouter-managed prompt caching but do not receive Anthropic cache markers. As a proxy-style OpenAI-compatible path, it skips native-OpenAI-only shaping (serviceTier, Responses store, prompt-cache hints, OpenAI reasoning-compat). Gemini-backed refs keep proxy-Gemini thought-signature sanitation only.
Kilo Gateway
Gemini-backed refs follow the same proxy-Gemini sanitation path; kilocode/kilo-auto/balanced and other proxy-reasoning-unsupported refs skip proxy reasoning injection.
MiniMax
API-key onboarding writes explicit M3 and M2.7 chat model definitions; image understanding stays on the plugin-owned MiniMax-VL-01 media provider.
NVIDIA
Model ids use a nvidia/<vendor>/<model> namespace (for example nvidia/nvidia/nemotron-...); pickers preserve the literal <provider>/<model-id> composition while the canonical key sent to the API stays single-prefixed.
xAI
Uses the xAI Responses path. The recommended path is SuperGrok/X Premium OAuth; OAuth and API-key setup use the curated xai/grok-4.6 default. Existing primary models stay pinned. Run openclaw doctor --fix to repair retired xai/auto selections on the subscription route. API keys still work via XAI_API_KEY or plugin config. Grok web_search reuses the same auth profile before API-key fallback. Older /fast and params.fastMode: true configurations still resolve through xAI's Grok 4.3 compatibility redirects, but new configurations should select a current model directly. tool_stream defaults on; disable via agents.defaults.models["xai/<model>"].params.tool_stream=false.