Files
stack/docs/providers/chutes.md
T
jason.woltje 193479b52d docs: concept annexation, provider/reference docs, ACT-1 groundwork
Mosaic concepts pages now own the adapted content; source/license
metadata under docs/reference/concepts. Adds ACT-1 agent-context
planning capture, pinned concept test package + preparation utility,
foundation observation notes (durability, evidence, federation,
onboarding, workflow), and the #1495 consolidation assessment.
TOOLS.md updated for the host-dev launcher.
2026-09-07 14:07:05 -05:00

6.5 KiB

summary, title, read_when
summary title read_when
Chutes setup (OAuth or API key, model discovery, aliases) Chutes
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 exposes open-source model catalogs through an OpenAI-compatible API. OpenClaw supports both browser OAuth and API-key auth.

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 an already-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.2-TEE and register the Chutes catalog.

```bash openclaw onboard --auth-choice chutes ``` OpenClaw launches the browser flow locally, or shows a URL + redirect-paste flow on remote/headless hosts. OAuth tokens auto-refresh through OpenClaw auth profiles. Create a key at [chutes.ai/app/settings/api-keys](https://chutes.ai/app/settings/api-keys). ```bash 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, cached for 5 minutes per credential. A rejected credential produces a catalog authentication failure; OpenClaw does not retry anonymously. Other request failures produce an unavailable catalog outcome, not a successful static list. A successful empty response stays empty. API-key and OAuth discovery use this same path.

Token prices come from the native Chutes model catalog. Its numeric prompt, completion, and cached-input rates are already in USD per million tokens; they are not per-token OpenRouter rates. Unavailable or invalid price metadata does not establish that a model is free.

In the default models.mode: "merge", fresh onboarding records the provider and aliases without copying generated model rows or prices into your config. Live prices can then refresh without overwriting explicitly authored model costs. models.mode: "replace" disables discovery, so onboarding retains the bundled catalog as an explicit offline seed in that mode. Existing configured model rows and their prices are preserved when applying provider setup again.

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.6-TEE

Built-in starter catalog

The bundled fallback catalog contains these current starter models plus two compatible prior-generation refs that remain selectable but are hidden from pickers:

Model ref Picker status
chutes/zai-org/GLM-5.2-TEE Visible
chutes/deepseek-ai/DeepSeek-V3.2-TEE Visible
chutes/moonshotai/Kimi-K2.6-TEE Visible
chutes/MiniMaxAI/MiniMax-M2.5-TEE Visible
chutes/Qwen/Qwen3.6-27B-TEE Visible
chutes/moonshotai/Kimi-K2.5-TEE Hidden
chutes/Qwen/Qwen3.5-397B-A17B-TEE Hidden

Run openclaw models list --all --provider chutes for the full list.

Fallback prices for starter models still listed by the native endpoint were refreshed from its August 31, 2026 response. An absent model keeps its previous seed snapshot: feed absence alone does not retire a shipped reference or change its picker status. Listing metadata is not proof that your account can invoke a model.

Config example

{
  agents: {
    defaults: {
      model: { primary: "chutes/zai-org/GLM-5.2-TEE" },
      models: {
        "chutes/zai-org/GLM-5.2-TEE": { alias: "Chutes GLM 5.2" },
        "chutes/deepseek-ai/DeepSeek-V3.2-TEE": { alias: "Chutes DeepSeek V3.2" },
      },
    },
  },
}
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](https://chutes.ai/docs/sign-in-with-chutes/overview)
for redirect-app requirements and help.
- Chutes models are registered as `chutes/`. - Chutes does not report token usage while streaming (`supportsUsageInStreaming: false`); usage totals still show once the stream completes. Provider rules, model refs, and failover behavior. Full config schema including provider settings. Chutes dashboard and API docs. Create and manage Chutes API keys.