diff options
| author | Rian van der Merwe <[email protected]> | 2026-03-01 07:24:57 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-01 09:24:57 -0600 |
| commit | 6b7e6bde4d88b97ca99525f1bc40c33e48ba97b4 (patch) | |
| tree | 46ae4951cd159a1b4403b37d3c3787d0c435cf4a | |
| parent | b15fb211917de83b39d9ec3a1d66ae4353d1e6e0 (diff) | |
| download | opencode-6b7e6bde4d88b97ca99525f1bc40c33e48ba97b4.tar.gz opencode-6b7e6bde4d88b97ca99525f1bc40c33e48ba97b4.zip | |
fix(opencode): show human-readable message for HTML error responses (#15407)
| -rw-r--r-- | packages/opencode/src/provider/error.ts | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/opencode/src/provider/error.ts b/packages/opencode/src/provider/error.ts index 0db03576e..86990a205 100644 --- a/packages/opencode/src/provider/error.ts +++ b/packages/opencode/src/provider/error.ts @@ -76,6 +76,18 @@ export namespace ProviderError { } } catch {} + // If responseBody is HTML (e.g. from a gateway or proxy error page), + // provide a human-readable message instead of dumping raw markup + if (/^\s*<!doctype|^\s*<html/i.test(e.responseBody)) { + if (e.statusCode === 401) { + return "Unauthorized: request was blocked by a gateway or proxy. Your authentication token may be missing or expired — try running `opencode auth login <your provider URL>` to re-authenticate." + } + if (e.statusCode === 403) { + return "Forbidden: request was blocked by a gateway or proxy. You may not have permission to access this resource — check your account and provider settings." + } + return msg + } + return `${msg}: ${e.responseBody}` }).trim() } |
