openclaw - 💡(How to fix) Fix Bundled opencode-go plugin hits /go/v1 (404 HTML) instead of /zen/go/v1 [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#69898Fetched 2026-04-22 07:46:51
View on GitHub
Comments
1
Participants
2
Timeline
2
Reactions
0
Author
Participants
Timeline (top)
closed ×1commented ×1

After upgrading to 2026.4.20, every model served by the bundled opencode-go plugin fails with:

FailoverError: The provider returned an HTML error page instead of an API response. This usually means a CDN or gateway (e.g. Cloudflare) blocked the request.

The plugin appears to be hitting https://opencode.ai/go/v1/... (404 HTML) instead of the correct https://opencode.ai/zen/go/v1/.... A custom provider pointed at https://opencode.ai/zen/go/v1 with the same OPENCODE_API_KEY works fine, which isolates the problem to the bundled plugin's baseUrl.

Error Message

FailoverError: The provider returned an HTML error page instead of with "The provider returned an HTML error page ...". Fallback to token. The error surfaced in OpenClaw ("HTML error page") matches the

Root Cause

After upgrading to 2026.4.20, every model served by the bundled opencode-go plugin fails with:

FailoverError: The provider returned an HTML error page instead of an API response. This usually means a CDN or gateway (e.g. Cloudflare) blocked the request.

The plugin appears to be hitting https://opencode.ai/go/v1/... (404 HTML) instead of the correct https://opencode.ai/zen/go/v1/.... A custom provider pointed at https://opencode.ai/zen/go/v1 with the same OPENCODE_API_KEY works fine, which isolates the problem to the bundled plugin's baseUrl.

Fix Action

Workaround

Bundled plugin's config schema has empty properties: {} so no baseUrl override is exposed. Working workaround is a custom provider:

\"custom-opencode-go-extras\": {
  \"baseUrl\": \"https://opencode.ai/zen/go/v1\",
  \"api\": \"openai-completions\",
  \"apiKey\": { \"source\": \"env\", \"provider\": \"default\", \"id\": \"OPENCODE_API_KEY\" },
  \"models\": [ { \"id\": \"kimi-k2.5\", ... }, ... ]
}

All 5 of our agents route cleanly through that — same API key, same host, different path — which further confirms /zen/go/v1 is the intended base.

Code Example

openclaw infer model run --model opencode-go/kimi-k2.5 \
  --prompt 'reply with PONG'

---

$ curl -sS -o /dev/null -w '%{http_code} %{content_type}\n' \
    -X POST https://opencode.ai/go/v1/chat/completions \
    -H 'Authorization: Bearer nope' -H 'Content-Type: application/json' \
    -d '{"model":"kimi-k2.5","messages":[{"role":"user","content":"ping"}]}'
404 text/html

$ curl -sS -o /dev/null -w '%{http_code} %{content_type}\n' \
    -X POST https://opencode.ai/zen/go/v1/chat/completions \
    -H 'Authorization: Bearer nope' -H 'Content-Type: application/json' \
    -d '{"model":"kimi-k2.5","messages":[{"role":"user","content":"ping"}]}'
401 text/plain;charset=UTF-8

---

\"custom-opencode-go-extras\": {
  \"baseUrl\": \"https://opencode.ai/zen/go/v1\",
  \"api\": \"openai-completions\",
  \"apiKey\": { \"source\": \"env\", \"provider\": \"default\", \"id\": \"OPENCODE_API_KEY\" },
  \"models\": [ { \"id\": \"kimi-k2.5\", ... }, ... ]
}
RAW_BUFFERClick to expand / collapse

Summary

After upgrading to 2026.4.20, every model served by the bundled opencode-go plugin fails with:

FailoverError: The provider returned an HTML error page instead of an API response. This usually means a CDN or gateway (e.g. Cloudflare) blocked the request.

The plugin appears to be hitting https://opencode.ai/go/v1/... (404 HTML) instead of the correct https://opencode.ai/zen/go/v1/.... A custom provider pointed at https://opencode.ai/zen/go/v1 with the same OPENCODE_API_KEY works fine, which isolates the problem to the bundled plugin's baseUrl.

Environment

  • OpenClaw 2026.4.20 (build 115f05d), installed via npm -g
  • Node v22.22.2, Linux 6.8.0-106-generic
  • Gateway mode local, systemd unit

Reproduction

With a clean opencode-go plugin entry enabled and any bundled model (e.g. opencode-go/kimi-k2.5, opencode-go/minimax-m2.7, opencode-go/mimo-v2-omni), invoke:

openclaw infer model run --model opencode-go/kimi-k2.5 \
  --prompt 'reply with PONG'

Result: FallbackSummaryError: All models failed (...): model_not_found with "The provider returned an HTML error page ...". Fallback to opencode-go/mimo-v2-pro fails identically.

Evidence the URL path is wrong

Direct probes with a bogus bearer to rule out auth vs path:

$ curl -sS -o /dev/null -w '%{http_code} %{content_type}\n' \
    -X POST https://opencode.ai/go/v1/chat/completions \
    -H 'Authorization: Bearer nope' -H 'Content-Type: application/json' \
    -d '{"model":"kimi-k2.5","messages":[{"role":"user","content":"ping"}]}'
404 text/html

$ curl -sS -o /dev/null -w '%{http_code} %{content_type}\n' \
    -X POST https://opencode.ai/zen/go/v1/chat/completions \
    -H 'Authorization: Bearer nope' -H 'Content-Type: application/json' \
    -d '{"model":"kimi-k2.5","messages":[{"role":"user","content":"ping"}]}'
401 text/plain;charset=UTF-8

The /go/v1 path returns a 404 HTML page. The /zen/go/v1 path returns a 401 plaintext — endpoint exists, just rejecting the bad token. The error surfaced in OpenClaw ("HTML error page") matches the first case exactly.

Workaround

Bundled plugin's config schema has empty properties: {} so no baseUrl override is exposed. Working workaround is a custom provider:

\"custom-opencode-go-extras\": {
  \"baseUrl\": \"https://opencode.ai/zen/go/v1\",
  \"api\": \"openai-completions\",
  \"apiKey\": { \"source\": \"env\", \"provider\": \"default\", \"id\": \"OPENCODE_API_KEY\" },
  \"models\": [ { \"id\": \"kimi-k2.5\", ... }, ... ]
}

All 5 of our agents route cleanly through that — same API key, same host, different path — which further confirms /zen/go/v1 is the intended base.

Expected

Bundled opencode-go plugin should hit https://opencode.ai/zen/go/v1 (or expose baseUrl as an overridable config field).

Notes

Not a regression in 2026.4.15 (our prior version) — bundled opencode-go/* routes worked there.

extent analysis

TL;DR

The bundled opencode-go plugin's baseUrl should be updated to https://opencode.ai/zen/go/v1 to fix the issue.

Guidance

  • Verify that the opencode-go plugin is indeed hitting the wrong URL by checking the request logs or using a tool like curl to test the API endpoint.
  • Consider updating the plugin's configuration to use the correct baseUrl, if possible, or use a custom provider as a workaround.
  • If using a custom provider, ensure that the baseUrl is set to https://opencode.ai/zen/go/v1 and the apiKey is correctly configured.
  • Test the fix by running the openclaw infer model run command with the updated configuration.

Example

"custom-opencode-go-extras": {
  "baseUrl": "https://opencode.ai/zen/go/v1",
  "api": "openai-completions",
  "apiKey": { "source": "env", "provider": "default", "id": "OPENCODE_API_KEY" },
  "models": [ { "id": "kimi-k2.5", ... }, ... ]
}

Notes

The issue seems to be specific to the 2026.4.20 version of OpenClaw, as it was not present in the previous version 2026.4.15. The custom provider workaround has been confirmed to work, which further supports the theory that the issue is related to the baseUrl.

Recommendation

Apply the workaround by using a custom provider with the correct baseUrl, as it has been confirmed to work and allows for a temporary fix until the bundled plugin is updated.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING