Back to Openclaw

OpenCode

docs/providers/opencode.md

2026.5.54.3 KB
Original Source

OpenCode exposes two hosted catalogs in OpenClaw:

CatalogPrefixRuntime provider
Zenopencode/...opencode
Goopencode-go/...opencode-go

Both catalogs use the same OpenCode API key. OpenClaw keeps the runtime provider ids split so upstream per-model routing stays correct, but onboarding and docs treat them as one OpenCode setup.

Getting started

<Tabs> <Tab title="Zen catalog"> **Best for:** the curated OpenCode multi-model proxy (Claude, GPT, Gemini).
<Steps>
  <Step title="Run onboarding">
    ```bash
    openclaw onboard --auth-choice opencode-zen
    ```

    Or pass the key directly:

    ```bash
    openclaw onboard --opencode-zen-api-key "$OPENCODE_API_KEY"
    ```
  </Step>
  <Step title="Set a Zen model as the default">
    ```bash
    openclaw config set agents.defaults.model.primary "opencode/claude-opus-4-6"
    ```
  </Step>
  <Step title="Verify models are available">
    ```bash
    openclaw models list --provider opencode
    ```
  </Step>
</Steps>
</Tab> <Tab title="Go catalog"> **Best for:** the OpenCode-hosted Kimi, GLM, and MiniMax lineup.
<Steps>
  <Step title="Run onboarding">
    ```bash
    openclaw onboard --auth-choice opencode-go
    ```

    Or pass the key directly:

    ```bash
    openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY"
    ```
  </Step>
  <Step title="Set a Go model as the default">
    ```bash
    openclaw config set agents.defaults.model.primary "opencode-go/kimi-k2.6"
    ```
  </Step>
  <Step title="Verify models are available">
    ```bash
    openclaw models list --provider opencode-go
    ```
  </Step>
</Steps>
</Tab> </Tabs>

Config example

json5
{
  env: { OPENCODE_API_KEY: "sk-..." },
  agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" } } },
}

Built-in catalogs

Zen

PropertyValue
Runtime provideropencode
Example modelsopencode/claude-opus-4-6, opencode/gpt-5.5, opencode/gemini-3-pro

Go

PropertyValue
Runtime provideropencode-go
Example modelsopencode-go/kimi-k2.6, opencode-go/glm-5, opencode-go/minimax-m2.5

Advanced configuration

<AccordionGroup> <Accordion title="API key aliases"> `OPENCODE_ZEN_API_KEY` is also supported as an alias for `OPENCODE_API_KEY`. </Accordion> <Accordion title="Shared credentials"> Entering one OpenCode key during setup stores credentials for both runtime providers. You do not need to onboard each catalog separately. </Accordion> <Accordion title="Billing and dashboard"> You sign in to OpenCode, add billing details, and copy your API key. Billing and catalog availability are managed from the OpenCode dashboard. </Accordion> <Accordion title="Gemini replay behavior"> Gemini-backed OpenCode refs stay on the proxy-Gemini path, so OpenClaw keeps Gemini thought-signature sanitation there without enabling native Gemini replay validation or bootstrap rewrites. </Accordion> <Accordion title="Non-Gemini replay behavior"> Non-Gemini OpenCode refs keep the minimal OpenAI-compatible replay policy. </Accordion> </AccordionGroup> <Tip> Entering one OpenCode key during setup stores credentials for both the Zen and Go runtime providers, so you only need to onboard once. </Tip> <CardGroup cols={2}> <Card title="Model selection" href="/concepts/model-providers" icon="layers"> Choosing providers, model refs, and failover behavior. </Card> <Card title="Configuration reference" href="/gateway/configuration-reference" icon="gear"> Full config reference for agents, models, and providers. </Card> </CardGroup>