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

# OpenClaw

> Use Auriko as your LLM provider in OpenClaw

Auriko connects to OpenClaw as a custom model provider. You can use multiple models through a single API key.

## Prerequisites

* [OpenClaw](https://docs.openclaw.ai) v2026.1.30+
* Node.js 22.16+
* An [Auriko API key](https://auriko.ai/signup)

## Install OpenClaw

Install via npm:

```bash theme={null}
npm install -g openclaw@latest
```

Or use the installer script:

```bash theme={null}
curl -fsSL https://openclaw.ai/install.sh | bash
```

If you used the installer script, open a new terminal. Then confirm:

```bash theme={null}
openclaw --version
```

You need version v2026.1.30 or later.

Start the gateway daemon:

```bash theme={null}
openclaw onboard --install-daemon
```

The daemon runs on port 18789 and must be running for OpenClaw to process requests.

## Set your API key

Export your API key:

```bash theme={null}
export AURIKO_API_KEY="ak_live_..."
```

Your key starts with `ak_live_` (production) or `ak_test_` (testing).

To persist across terminal sessions, add this line to `~/.zshrc` or `~/.bashrc`.

Reload your shell after saving:

```bash theme={null}
source ~/.zshrc   # or: source ~/.bashrc
```

Or open a new terminal.

If you installed the daemon via `openclaw onboard --install-daemon`, also register the key with the daemon:

```bash theme={null}
openclaw config set env.vars.AURIKO_API_KEY "$AURIKO_API_KEY"
```

The daemon runs as a LaunchAgent and doesn't inherit your shell's environment variables. Without this step, the daemon can't resolve `${AURIKO_API_KEY}` from the config file.

## Configure the provider

Create or update `~/.openclaw/openclaw.json` with the Auriko provider:

```json5 theme={null}
{
  models: {
    mode: "merge",
    providers: {
      "auriko": {
        baseUrl: "https://api.auriko.ai/v1",
        apiKey: "${AURIKO_API_KEY}",
        api: "openai-completions",
        agentRuntime: { id: "pi" },
        models: [
          { id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6", contextWindow: 1000000, maxTokens: 64000 },
          { id: "claude-opus-4-6", name: "Claude Opus 4.6", contextWindow: 1000000, maxTokens: 128000 },
          { id: "claude-opus-4-7", name: "Claude Opus 4.7", contextWindow: 1000000, maxTokens: 128000 },
          { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash", contextWindow: 1000000, maxTokens: 8192 },
          { id: "deepseek-v4-pro", name: "DeepSeek V4 Pro", contextWindow: 1000000, maxTokens: 8192 },
          { id: "gemini-2.5-flash", name: "Gemini 2.5 Flash", contextWindow: 1000000, maxTokens: 65536 },
          { id: "gemini-2.5-pro", name: "Gemini 2.5 Pro", contextWindow: 1000000, maxTokens: 65536 },
          { id: "gemini-3.1-pro-preview", name: "Gemini 3.1 Pro Preview", contextWindow: 1000000, maxTokens: 65536 },
          { id: "glm-5.1", name: "GLM-5.1", contextWindow: 200000, maxTokens: 8192 },
          { id: "grok-4.3", name: "Grok 4.3", contextWindow: 1000000, maxTokens: 8192 },
          { id: "kimi-k2.5", name: "Kimi K2.5", contextWindow: 262144, maxTokens: 8192 },
          { id: "kimi-k2.6", name: "Kimi K2.6", contextWindow: 262144, maxTokens: 8192 },
          { id: "minimax-m2-7", name: "MiniMax M2.7", contextWindow: 205000, maxTokens: 8192 },
          { id: "minimax-m2-7-highspeed", name: "MiniMax M2.7 Highspeed", contextWindow: 205000, maxTokens: 8192 },
          { id: "qwen-3.6-plus", name: "Qwen 3.6 Plus", contextWindow: 1000000, maxTokens: 8192 }
        ]
      }
    }
  },
  agents: {
    defaults: {
      model: {
        primary: "auriko/claude-sonnet-4-6"
      },
      models: {
        "auriko/claude-sonnet-4-6": {},
        "auriko/claude-opus-4-6": {},
        "auriko/claude-opus-4-7": {},
        "auriko/deepseek-v4-flash": {},
        "auriko/deepseek-v4-pro": {},
        "auriko/gemini-2.5-flash": {},
        "auriko/gemini-2.5-pro": {},
        "auriko/gemini-3.1-pro-preview": {},
        "auriko/glm-5.1": {},
        "auriko/grok-4.3": {},
        "auriko/kimi-k2.5": {},
        "auriko/kimi-k2.6": {},
        "auriko/minimax-m2-7": {},
        "auriko/minimax-m2-7-highspeed": {},
        "auriko/qwen-3.6-plus": {}
      }
    }
  }
}
```

The `models` array uses bare IDs (`claude-sonnet-4-6`) matching what Auriko's API expects. The `agents.defaults.models` object uses prefixed IDs (`auriko/claude-sonnet-4-6`). OpenClaw doesn't route to a model unless it appears in both places.

`models.mode: "merge"` keeps OpenClaw's bundled providers alongside Auriko. If you already have a config from `openclaw onboard`, merge the `auriko` provider into your existing `models.providers` object and add the `auriko/` entries to your existing `agents.defaults.models`.

`${AURIKO_API_KEY}` reads your environment variable. Don't paste your key into the config.

`agentRuntime: { id: "pi" }` selects the embedded agent harness. Without it, OpenClaw defaults to `codex` which requires a separate binary.

## Verify

Test that the connection works:

```bash theme={null}
openclaw agent --message "Say exactly: setup-ok"
```

## Use different models

Switch the active model from the CLI:

```bash theme={null}
openclaw models set auriko/deepseek-v4-flash
```

To switch models during an interactive session, type `/model auriko/<id>`.

Models available through Auriko:

| Model                    | Author    | Context |
| ------------------------ | --------- | ------- |
| `claude-sonnet-4-6`      | Anthropic | 1M      |
| `claude-opus-4-6`        | Anthropic | 1M      |
| `claude-opus-4-7`        | Anthropic | 1M      |
| `deepseek-v4-flash`      | DeepSeek  | 1M      |
| `deepseek-v4-pro`        | DeepSeek  | 1M      |
| `gemini-2.5-flash`       | Google    | 1M      |
| `gemini-2.5-pro`         | Google    | 1M      |
| `gemini-3.1-pro-preview` | Google    | 1M      |
| `glm-5.1`                | Z.AI      | 200K    |
| `grok-4.3`               | xAI       | 1M      |
| `kimi-k2.5`              | Moonshot  | 262K    |
| `kimi-k2.6`              | Moonshot  | 262K    |
| `minimax-m2-7`           | MiniMax   | 205K    |
| `minimax-m2-7-highspeed` | MiniMax   | 205K    |
| `qwen-3.6-plus`          | Alibaba   | 1M      |

To use a model not in this list, add its bare ID to `models.providers.auriko.models` and its prefixed ID to `agents.defaults.models` in your config.

To list all Auriko models:

```bash theme={null}
curl -s -H "Authorization: Bearer $AURIKO_API_KEY" \
  https://api.auriko.ai/v1/models | jq '.data[].id'
```

<Accordion title="Run a health check">
  OpenClaw includes a diagnostic command:

  ```bash theme={null}
  openclaw doctor
  ```

  This checks daemon connectivity, provider configuration, and model availability. Run `openclaw doctor --fix` to auto-resolve common problems.
</Accordion>

## Control routing

Configure routing in the [Auriko dashboard](https://auriko.ai/dashboard). See [routing options](/guides/routing-options) for details.

## Uninstall

Remove the `auriko` provider block from `~/.openclaw/openclaw.json` and delete any `auriko/` entries from `agents.defaults.models`.

Remove `AURIKO_API_KEY` from your shell profile (`~/.zshrc` or `~/.bashrc`).

## Troubleshoot

| Symptom                                          | Cause                                                              | Fix                                                                                                                      |
| ------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `Error: API key is invalid.`                     | `AURIKO_API_KEY` not set or wrong                                  | Run `echo $AURIKO_API_KEY`. If empty, export it. If set, verify at `https://api.auriko.ai/v1/me`                         |
| `Error: Model not found: auriko/<id>`            | Model not in `agents.defaults.models` or provider's `models` array | Add the model to both places in `~/.openclaw/openclaw.json`                                                              |
| Connection refused on port 18789                 | Daemon isn't running                                               | Run `openclaw gateway status`. If stopped, run `openclaw onboard --install-daemon`                                       |
| `openclaw: command not found`                    | npm global bin not in PATH                                         | Run `export PATH="$(npm prefix -g)/bin:$PATH"`                                                                           |
| Config parse error on startup                    | Invalid JSON5 in `openclaw.json`                                   | Run `openclaw config schema` to validate. Check for mismatched braces                                                    |
| Empty response from agent                        | Model missing `contextWindow` in provider config                   | Add `contextWindow` and `maxTokens` to the model definition                                                              |
| Duplicated response content (`setup-oksetup-ok`) | OpenClaw `pi` harness concatenation bug                            | Known upstream issue. Responses are correct but repeated. Doesn't affect all models equally. No user-side fix available. |
| API key valid in shell but agent requests fail   | Daemon doesn't inherit shell env vars                              | Run `openclaw config set env.vars.AURIKO_API_KEY "$AURIKO_API_KEY"`                                                      |
