OpenCode exposes two hosted catalogs in Genesis:
| Catalog | Prefix | Runtime provider |
|---|---|---|
| Zen | opencode/... |
opencode |
| Go | opencode-go/... |
opencode-go |
Both catalogs use the same OpenCode API key. Genesis 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
Zen catalog
**Best for:** the curated OpenCode multi-model proxy (Claude, GPT, Gemini).
Run onboarding
```bash
genesis onboard --auth-choice opencode-zen
```
Or pass the key directly:
```bash
genesis onboard --opencode-zen-api-key "$OPENCODE_API_KEY"
```
Set a Zen model as the default
```bash
genesis config set agents.defaults.model.primary "opencode/claude-opus-4-6"
```
Verify models are available
```bash
genesis models list --provider opencode
```
Go catalog
**Best for:** the OpenCode-hosted Kimi, GLM, and MiniMax lineup.
Run onboarding
```bash
genesis onboard --auth-choice opencode-go
```
Or pass the key directly:
```bash
genesis onboard --opencode-go-api-key "$OPENCODE_API_KEY"
```
Set a Go model as the default
```bash
genesis config set agents.defaults.model.primary "opencode-go/kimi-k2.6"
```
Verify models are available
```bash
genesis models list --provider opencode-go
```
Config example
{
env: { OPENCODE_API_KEY: "sk-..." },
agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" } } },
}
Built-in catalogs
Zen
| Property | Value |
|---|---|
| Runtime provider | opencode |
| Example models | opencode/claude-opus-4-6, opencode/gpt-5.5, opencode/gemini-3-pro |
Go
| Property | Value |
|---|---|
| Runtime provider | opencode-go |
| Example models | opencode-go/kimi-k2.6, opencode-go/glm-5, opencode-go/minimax-m2.5 |
Advanced configuration
API key aliases
`OPENCODE_ZEN_API_KEY` is also supported as an alias for `OPENCODE_API_KEY`.
Shared credentials
Entering one OpenCode key during setup stores credentials for both runtime
providers. You do not need to onboard each catalog separately.
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.
Gemini replay behavior
Gemini-backed OpenCode refs stay on the proxy-Gemini path, so Genesis keeps
Gemini thought-signature sanitation there without enabling native Gemini
replay validation or bootstrap rewrites.
Non-Gemini replay behavior
Non-Gemini OpenCode refs keep the minimal OpenAI-compatible replay policy.
Entering one OpenCode key during setup stores credentials for both the Zen and
Go runtime providers, so you only need to onboard once.
Related
-
Model selection Choosing providers, model refs, and failover behavior.
-
Configuration reference Full config reference for agents, models, and providers.