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.

PropertyValue
Providerchutes
Pluginofficial external package (@openclaw/chutes-provider)
APIOpenAI-compatible
Base URLhttps://llm.chutes.ai/v1
AuthOAuth or API key (see below)
Runtime env varsCHUTES_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:

AliasTarget model
chutes-prochutes/deepseek-ai/DeepSeek-V3.2-TEE
chutes-visionchutes/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:

VariablePurpose
CHUTES_CLIENT_IDOAuth client id (prompted if unset)
CHUTES_CLIENT_SECRETOAuth client secret
CHUTES_OAUTH_REDIRECT_URIRedirect URI (default http://127.0.0.1:1456/oauth-callback)
CHUTES_OAUTH_SCOPESSpace-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.