openclaw/docs/providers/opencode-go.md
Peter Steinberger f024e67860
fix: preserve thinking choices across models and runtimes (#150106)
* fix: preserve thinking choices across models and runtimes

Consolidate thinking defaults, runtime capability selection, and request intent.
Keep native none distinct from logical off, honor declared effort restrictions,
and share provider wire policy with standalone completions.

Preserve mandatory OpenRouter reasoning without an effort selector, refresh
incomplete cached capabilities, and retain default-on reasoning replay.
Remove duplicate policy and wrappers while keeping existing configuration.

* fix: preserve prepared thinking state and defaults

Keep standalone wrappers alive across calls and resolve provider thinking before serialization. Preserve trusted runtime alias context, align transport fixtures with verified provider contracts, and consolidate duplicate test setup.

* fix: preserve omitted reasoning and scoped model capabilities
2026-09-16 10:56:40 -07:00

5.2 KiB

summary read_when title
Use the OpenCode Go catalog with the shared OpenCode setup
You want the OpenCode Go catalog
You need the runtime model refs for Go-hosted models
OpenCode Go

OpenCode Go is a separate paid subscription inside OpenCode. It uses the same OPENCODE_API_KEY credential infrastructure as Zen, but a Zen key does not automatically include Go entitlement. Go keeps its own runtime provider id (opencode-go) so upstream per-model routing stays correct. OpenCode Go is bundled in the OpenClaw package, so onboarding and configuration are sufficient; no separate plugin install is required.

Property Value
Runtime provider opencode-go
Plugin Bundled (opencode-go)
Auth OPENCODE_API_KEY (alias: OPENCODE_ZEN_API_KEY)
Parent setup OpenCode

Getting started

OpenCode Go is already included with OpenClaw. Continue with interactive onboarding or pass the shared OpenCode API key directly.

```bash openclaw onboard --auth-choice opencode-go ``` ```bash openclaw config set agents.defaults.model.primary "opencode-go/kimi-k3" ``` ```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

{
  env: { vars: { OPENCODE_API_KEY: "YOUR_API_KEY_HERE" } }, // pragma: allowlist secret
  agents: { defaults: { model: { primary: "opencode-go/kimi-k3" } } },
}

Catalog

Run openclaw models list --provider opencode-go for the current model list. OpenClaw combines Go's advertised model IDs with authoritative metadata from https://models.opencode.ai/api.json, so new upstream models appear without an OpenClaw update when they use a supported transport on the trusted OpenCode endpoint. The upstream catalog is downloaded and cached only when OpenCode Zen or Go is configured or explicitly selected with OpenCode credentials; it is never fetched at startup or while using unrelated providers.

Example refs include opencode-go/deepseek-v4-flash, opencode-go/kimi-k3, and opencode-go/qwen3.8-max. Use the CLI for the current lineup rather than treating these examples as an inventory. OpenClaw excludes deprecated rows from active discovery and applies refreshed lifecycle status to its offline fallback. Bundled preview rows stay hidden until accepted upstream metadata supplies them. Existing explicit refs in the bundled seed remain resolvable.

The Go model-list endpoint is a general inventory, not an account-entitlement check. A successful listing does not grant access: inference still requires an active Go subscription, including for promotional models.

DeepSeek V4 models apply the same thinking controls in agent turns and standalone completions. Explicit off disables native thinking and removes reasoning from replayed history; enabled thinking preserves the reasoning needed for follow-up turns. Both paths also omit unsupported controls for MiniMax models with fixed reasoning and remove Kimi K2 reasoning replay fields.

Privacy

Retention and training policies vary by model. Review the current OpenCode Go privacy table before using a model, because provider policy can change independently of OpenClaw.

Advanced configuration

OpenClaw routes any `opencode-go/...` model ref automatically. No extra 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` can authenticate both runtime providers, so setup may store both profiles. Go access still requires a separate paid subscription in the OpenCode console. See [OpenCode](/providers/opencode) for the shared onboarding overview and the full Zen + Go catalog reference. Shared onboarding, catalog overview, and advanced notes. Choosing providers, model refs, and failover behavior.