summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/provider/error.ts12
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()
}