--- summary: "Use the OpenCode Go catalog with the shared OpenCode setup" read_when: - You want the OpenCode Go catalog - You need the runtime model refs for Go-hosted models title: "OpenCode Go" --- # OpenCode Go OpenCode Go is the Go catalog within [OpenCode](/providers/opencode). It uses the same `OPENCODE_API_KEY` as the Zen catalog, but keeps the runtime provider id `opencode-go` so upstream per-model routing stays correct. | Property | Value | | ---------------- | ------------------------------- | | Runtime provider | `opencode-go` | | Auth | `OPENCODE_API_KEY` | | Parent setup | [OpenCode](/providers/opencode) | ## Supported models | Model ref | Name | | -------------------------- | ------------ | | `opencode-go/kimi-k2.5` | Kimi K2.5 | | `opencode-go/glm-5` | GLM 5 | | `opencode-go/minimax-m2.5` | MiniMax M2.5 | ## Getting started ```bash openclaw onboard --auth-choice opencode-go ``` ```bash openclaw config set agents.defaults.model.primary "opencode-go/kimi-k2.5" ``` ```bash openclaw models list --provider opencode-go ``` ```bash openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY" ``` ```bash openclaw models list --provider opencode-go ``` ## Config example ```json5 { env: { OPENCODE_API_KEY: "YOUR_API_KEY_HERE" }, // pragma: allowlist secret agents: { defaults: { model: { primary: "opencode-go/kimi-k2.5" } } }, } ``` ## Advanced notes OpenClaw handles per-model routing automatically when the model ref uses `opencode-go/...`. No additional provider config is required. Runtime refs stay explicit: `opencode/...` for Zen, `opencode-go/...` for Go. This keeps upstream per-model routing correct across both catalogs. The same `OPENCODE_API_KEY` is used by both the Zen and Go catalogs. Entering the key during setup stores credentials for both runtime providers. See [OpenCode](/providers/opencode) for the shared onboarding overview and the full Zen + Go catalog reference. ## Related Shared onboarding, catalog overview, and advanced notes. Choosing providers, model refs, and failover behavior.