OpenCode models all say temporarily rate-limited while OpenCode itself works

Adapted community discussion: Paraphrased and condensed from an anonymized public OpenClaw Discord support conversation from August 2026. Technical guidance was reviewed for OpenClaw 2026.9.3.

OpenClaw says every OpenCode model is temporarily rate-limited, but the free model still works when I use OpenCode directly. Did an OpenClaw update cause this?

That message means all profiles or fallbacks available to the selected route are cooling down after rate-limit, quota, concurrency, or overload errors. OpenCode may use a different account, endpoint, model route, or retry policy. Check:

openclaw --version
openclaw models status
openclaw status --all
openclaw logs --follow

Avoid repeated live probes while the account may already be limited.

I tried re-entering the API key, but onboarding says the OpenCode Zen catalog plugin is blocked by the allowlist.

That is a plugin installation and allowlist problem, separate from quota. Inspect the allowlist and preserve its existing entries. On OpenClaw 2026.9.3, OpenCode Zen uses the separately distributed opencode provider plugin; the bundled plugin is opencode-go. Install the trusted Zen provider through its current ClawHub route, review its declared capabilities, then inspect the loaded runtime:

openclaw config get plugins.allow --json
openclaw plugins install clawhub:@openclaw/opencode-provider --accept-capabilities
openclaw plugins enable opencode --accept-capabilities
openclaw plugins inspect opencode --runtime --json
openclaw gateway restart

Then rerun the supported OpenCode authentication flow. Never paste the key into chat.

The config warning says the allowlist contains a stale package-name entry that OpenClaw is ignoring.

Remove only the stale package-name entry and preserve every other allowlist item. The current Zen provider’s plugin ID is opencode, but its package is installed separately as @openclaw/opencode-provider. Do not substitute the bundled opencode-go plugin, because that is a different provider. After opencode loads successfully, rerun its supported authentication flow.

After correcting the entry, I captured another failed request log.

That establishes a provider limit. The plugin and routing are working, but every fallback uses the same OpenCode provider and credential, so they share the same quota. Wait for the provider cooldown, use a credential with separate entitlement, or configure a fallback from another provider. A different key from the same account may share the same limit.