Files
adolf/docs/providers/chutes.md
alvis bedb527145
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Vendor OpenClaw source as Adolf fork baseline
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11),
free to diverge. Tree copied sans upstream .git; upstream remote added for
future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19.
Preserves docs/ARCHITECTURE.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
2026-07-05 09:36:54 +00:00

5.6 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-4.7-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/settings/api-keys](https://chutes.ai/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. On an expired/unauthorized key (HTTP 401), OpenClaw retries once without credentials. If discovery still returns no rows, fails, or returns any other 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 three convenience aliases for the Chutes catalog:

Alias Target model
chutes-fast chutes/zai-org/GLM-4.7-FP8
chutes-pro chutes/deepseek-ai/DeepSeek-V3.2-TEE
chutes-vision chutes/chutesai/Mistral-Small-3.2-24B-Instruct-2506

Built-in starter catalog

The bundled fallback catalog has 47 models. A representative sample of current refs:

Model ref
chutes/zai-org/GLM-4.7-TEE
chutes/zai-org/GLM-5-TEE
chutes/deepseek-ai/DeepSeek-V3.2-TEE
chutes/deepseek-ai/DeepSeek-R1-0528-TEE
chutes/moonshotai/Kimi-K2.5-TEE
chutes/chutesai/Mistral-Small-3.2-24B-Instruct-2506
chutes/Qwen/Qwen3-Coder-Next-TEE
chutes/openai/gpt-oss-120b-TEE

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

Config example

{
  agents: {
    defaults: {
      model: { primary: "chutes/zai-org/GLM-4.7-TEE" },
      models: {
        "chutes/zai-org/GLM-4.7-TEE": { alias: "Chutes GLM 4.7" },
        "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.