Chutes Provider Setup: OAuth, API Key, and Model Discovery

Learn how to configure the Chutes provider in OpenClaw using OAuth or an API key, discover models, and set aliases. This guide is for developers integrating Chutes' OpenAI-compatible API.

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 offers open-source model catalogs via an API that follows OpenAI conventions. Authentication with OpenClaw can be done either through browser-based OAuth or using an API key.

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

When an OAuth access token is already available, CHUTES_OAUTH_TOKEN passes it straight through, which suits scenarios like CI where the interactive browser login isn't practical.

Install plugin

openclaw plugins install @openclaw/chutes-provider
openclaw gateway restart

Getting started

Whichever authentication route you pick, the default model gets set to chutes/zai-org/GLM-5.2-TEE and the Chutes catalog is made available.

OAuth

Run the OAuth onboarding flow

openclaw onboard --auth-choice chutes

On a local machine, OpenClaw runs the browser flow itself; for remote or headless environments it prints a URL and waits for you to paste back the redirect. Token renewal happens automatically through OpenClaw's auth profiles.

API key

Get an API key

Head to chutes.ai/app/settings/api-keys to generate a key.

Run the API key onboarding flow

openclaw onboard --auth-choice chutes-api-key

Discovery behavior

Provided Chutes authentication is configured, OpenClaw calls GET /v1/models using those credentials and picks up whatever models are returned, holding onto the results for five minutes per credential. If the key turns out to be expired or unauthorized, which surfaces as an HTTP 401, OpenClaw makes one more attempt without any credentials. Should discovery come back empty, error out, or respond with a status outside the 2xx range, the bundled static catalog takes over, and this same fallback logic applies to OAuth discovery as well. When startup-time discovery fails, the static catalog is used without further action.

Default aliases

For the Chutes catalog, OpenClaw sets up two handy aliases:

AliasTarget model
chutes-prochutes/deepseek-ai/DeepSeek-V3.2-TEE
chutes-visionchutes/moonshotai/Kimi-K2.6-TEE

Built-in starter catalog

Included in the fallback catalog are the current starter models below, plus two older-generation references that stay usable but won't show up in pickers:

Model refPicker status
chutes/zai-org/GLM-5.2-TEEVisible
chutes/deepseek-ai/DeepSeek-V3.2-TEEVisible
chutes/moonshotai/Kimi-K2.6-TEEVisible
chutes/MiniMaxAI/MiniMax-M2.5-TEEVisible
chutes/Qwen/Qwen3.6-27B-TEEVisible
chutes/moonshotai/Kimi-K2.5-TEEHidden
chutes/Qwen/Qwen3.5-397B-A17B-TEEHidden

To see everything, run openclaw models list --all --provider chutes.

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" },
      },
    },
  },
}

OAuth overrides

A few optional environment variables let you tailor the OAuth flow:

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)

For details on redirect-app setup and troubleshooting, consult the Chutes OAuth docs.

Notes

  • Chutes models are registered as chutes/<model-id>.
  • While streaming, Chutes withholds token usage information (supportsUsageInStreaming: false); once the stream finishes, the usage totals do appear.
605 words · updated Jul 31, 2026