> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opper.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenClaw

> Run the OpenClaw personal agent on Opper, across WhatsApp, Telegram, and Discord

[OpenClaw](https://openclaw.ai) is an open-source personal AI assistant built on pi. It runs on WhatsApp, Telegram, Discord, and other chat apps, and takes any OpenAI-compatible endpoint as a custom provider.

## Setup

<Tip>
  One command, no config files:

  ```bash theme={null}
  npx @opperai/cli launch openclaw
  ```

  This adds an `opper` provider entry to `~/.openclaw/agents/main/agent/models.json` and defaults to running `gateway start` as a background daemon.
</Tip>

To wire it by hand, add Opper as a custom provider in `~/.openclaw/config.json`. This is the top-level config; the CLI writes the equivalent entry into the per-agent `models.json` above. Either location works — use the manual one when you want the provider available to every agent, or want the model list under version control:

```json theme={null}
{
  "env": { "OPPER_API_KEY": "your-api-key" },
  "agents": {
    "defaults": {
      "model": { "primary": "opper/anthropic/claude-opus-4-7" }
    }
  },
  "models": {
    "providers": {
      "opper": {
        "baseUrl": "https://api.opper.ai/v3/compat",
        "apiKey": "${OPPER_API_KEY}",
        "api": "openai-completions",
        "models": [
          { "id": "anthropic/claude-opus-4-7", "name": "Claude Opus 4.7 (Opper)" },
          { "id": "anthropic/claude-sonnet-4-6", "name": "Claude Sonnet 4.6 (Opper)" },
          { "id": "mistral/mistral-large-2512", "name": "Mistral Large 3 (Opper)" },
          { "id": "gemini/gemini-3.5-flash", "name": "Gemini 3.5 Flash EU (Opper)" }
        ]
      }
    }
  }
}
```

## Choosing a model

Switch at any time:

```bash theme={null}
openclaw models set opper/anthropic/claude-sonnet-4-6
```

The `opper/` prefix names the provider; everything after it is the Opper model ID.

<Note>
  The custom-provider route gives you full model access with a single API key, but no session span tracing. OpenClaw is built on pi, so if you want traces grouped per session it's worth looking at the native [pi provider package](/integrations/coding-agents/pi) — check its docs for whether your OpenClaw version can load pi extensions.
</Note>

## Related

<CardGroup cols={2}>
  <Card title="pi" icon="https://mintcdn.com/opper/H-iiE_tAhHpUz1kK/images/tools/pi.svg?fit=max&auto=format&n=H-iiE_tAhHpUz1kK&q=85&s=4418a209a55cca4e31b9ec8817a9dddc" href="/integrations/coding-agents/pi" width="800" height="800" data-path="images/tools/pi.svg">
    The agent OpenClaw is built on, with native tracing.
  </Card>

  <Card title="All integrations" icon="plug" href="/integrations/overview">
    Every app that runs on Opper.
  </Card>
</CardGroup>
