diff --git a/packages/opencode/src/session/retry.ts b/packages/opencode/src/session/retry.ts index dcf573a6c..79caeac92 100644 --- a/packages/opencode/src/session/retry.ts +++ b/packages/opencode/src/session/retry.ts @@ -65,7 +65,7 @@ export namespace SessionRetry { if (json.type === "error" && json.error?.type === "too_many_requests") { return "Too Many Requests" } - if (json.code === "Some resource has been exhausted") { + if (json.code.includes("exhausted") || json.code.includes("unavailable")) { return "Provider is overloaded" } if (json.type === "error" && json.error?.code?.includes("rate_limit")) { @@ -73,7 +73,8 @@ export namespace SessionRetry { } if ( json.error?.message?.includes("no_kv_space") || - (json.type === "error" && json.error?.type === "server_error") + (json.type === "error" && json.error?.type === "server_error") || + !!json.error ) { return "Provider Server Error" }