Skip to main content

What is OpenClaw

OpenClaw is an open-source, self-hosted personal AI assistant and gateway. It connects chat channels such as WhatsApp, Slack, Discord, Telegram, iMessage, and WebChat to AI agents. This setup adds Capriole AI as three custom model providers, one for each API protocol that Capriole AI serves.

Prerequisites

Before you begin, make sure you have:

Installation

Install OpenClaw with the official install script:
Then complete OpenClaw’s own setup:

Configuration

Model validation

OpenClaw 2026.4.21 passes a file-read, file-write, and final-answer check through Capriole AI with every model in Supported models, using the configuration below. Add the models block and the agents.defaults model settings below to ~/.openclaw/openclaw.json. Keep the other settings that openclaw onboard wrote.
What each setting does:
  • capriole-ai-openai sends GPT models to the Responses API. capriole-ai-anthropic sends Claude models to Anthropic Messages. capriole-ai-compatible sends Gemini, Grok, GLM, and Kimi models to Chat Completions.
  • ${CAPRIOLE_AI_API_KEY} reads your key from the environment.
  • request.auth with authorization-bearer makes the Anthropic provider send the key as a Bearer token. Without it, the key goes in an x-api-key header, which Capriole AI does not accept.
  • The Anthropic baseUrl has no /v1, because OpenClaw adds /v1/messages itself.
  • reasoning is false for Opus 5.5. When it is true, OpenClaw sends a thinking budget, and Opus 5.5 rejects it with requires adaptive thinking.
  • contextWindow and maxTokens tell OpenClaw each model’s limits.
  • agents.defaults.models is the list of models that agents can use. agents.defaults.model.primary is the default.

Run OpenClaw

Export your key in every terminal that starts OpenClaw:
Start the gateway:
Open the terminal UI in another terminal:
For a one-off local run without the gateway:

Supported models

Model references use the form <provider-id>/<model-id>. openai-latest and claude-latest always point to our latest flagship in each family.

Troubleshooting

Why does authentication fail?

Export CAPRIOLE_AI_API_KEY in the terminal that starts openclaw gateway or openclaw agent. OpenClaw prints missing env var when the variable is not set.

Why does Opus 5.5 fail with requires adaptive thinking?

Set reasoning to false for claude-opus-5-5.

Why does OpenClaw report that a model is not allowed or missing?

Run openclaw models list. Confirm that the model reference is in agents.defaults.models, and that the model entry has the full object shown above, not only id and name.

Why does a new session start with a setup conversation?

That is OpenClaw’s first-run workspace setup, not a Capriole AI issue. Finish it once in openclaw tui, or run openclaw onboard again.

Why doesn’t the gateway start?

Run openclaw status, openclaw gateway status, openclaw logs --follow, and openclaw doctor.

Notes

Last modified on October 27, 2026