Chutes Provider Setup: OAuth, API Key, and Model Discovery
This page covers how to set up the Chutes provider in OpenClaw using OAuth or an API key, including model discovery and aliases. It is intended for developers integrating Chutes open-source model catalogs.
Read this when
- You want to use Chutes with OpenClaw
- You need the OAuth or API key setup path
- You want the default model, aliases, or discovery behavior
Chutes provides open-source model catalogs via an OpenAI-compatible API. OpenClaw supports both browser-based OAuth and API key authentication.
| Property | Value |
|---|---|
| Provider | chutes |
| Plugin | official external package (@openclaw/chutes-provider) |
| API | OpenAI-compatible |
| Base URL | https://llm.chutes.ai/v1 |
| Auth | OAuth or API key (see below) |
| Runtime env vars | CHUTES_API_KEY, CHUTES_OAUTH_TOKEN |
CHUTES_OAUTH_TOKEN supplies a pre-obtained OAuth access token directly (for example in CI), bypassing the interactive browser flow below.
Install plugin
openclaw plugins install @openclaw/chutes-provider
openclaw gateway restart
Getting started
Both paths set the default model to chutes/zai-org/GLM-5-TEE and register the Chutes catalog.
OAuth
Run the OAuth onboarding flow
openclaw onboard --auth-choice chutes
OpenClaw starts the browser flow locally, or shows a URL with a redirect-paste flow on remote or headless hosts. OAuth tokens refresh automatically through OpenClaw auth profiles.
API key
Get an API key
Create a key at chutes.ai/settings/api-keys.
Run the API key onboarding flow
openclaw onboard --auth-choice chutes-api-key
Discovery behavior
When Chutes auth is available, OpenClaw queries GET /v1/models with that credential and uses the discovered models, caching them for 5 minutes per credential. On an expired or unauthorized key (HTTP 401), OpenClaw retries once without credentials. If discovery still returns no rows, fails, or returns any non-2xx status, it falls back to the bundled static catalog (both API-key and OAuth discovery use this same path). If discovery fails at startup, the static catalog is used automatically.
Default aliases
OpenClaw registers two convenience aliases for the Chutes catalog:
| Alias | Target model |
|---|---|
chutes-pro | chutes/deepseek-ai/DeepSeek-V3.2-TEE |
chutes-vision | chutes/moonshotai/Kimi-K2.5-TEE |
Built-in starter catalog
The bundled fallback catalog contains these five currently served models:
| Model ref |
|---|
chutes/zai-org/GLM-5-TEE |
chutes/deepseek-ai/DeepSeek-V3.2-TEE |
chutes/moonshotai/Kimi-K2.5-TEE |
chutes/MiniMaxAI/MiniMax-M2.5-TEE |
chutes/Qwen/Qwen3.5-397B-A17B-TEE |
Run openclaw models list --all --provider chutes for the full list.
Config example
{
agents: {
defaults: {
model: { primary: "chutes/zai-org/GLM-5-TEE" },
models: {
"chutes/zai-org/GLM-5-TEE": { alias: "Chutes GLM 5" },
"chutes/deepseek-ai/DeepSeek-V3.2-TEE": { alias: "Chutes DeepSeek V3.2" },
},
},
},
}
OAuth overrides
Customize the OAuth flow with optional environment variables:
| Variable | Purpose |
|---|---|
CHUTES_CLIENT_ID | OAuth client id (prompted if unset) |
CHUTES_CLIENT_SECRET | OAuth client secret |
CHUTES_OAUTH_REDIRECT_URI | Redirect URI (default http://127.0.0.1:1456/oauth-callback) |
CHUTES_OAUTH_SCOPES | Space-separated scopes (default openid profile chutes:invoke) |
See the Chutes OAuth docs for redirect-app requirements and help.
Notes
- Chutes models are registered as
chutes/<model-id>. - Chutes does not report token usage while streaming (
supportsUsageInStreaming: false); usage totals still show once the stream completes.
Related
-
Model selection, Provider rules, model refs, and failover behavior.
-
Configuration reference, Full config schema including provider settings.
-
Chutes, Chutes dashboard and API docs.
-
Chutes API keys, Create and manage Chutes API keys.