diff --git a/src/proxy/middleware/response/index.ts b/src/proxy/middleware/response/index.ts index ade7f3d..fa053ae 100644 --- a/src/proxy/middleware/response/index.ts +++ b/src/proxy/middleware/response/index.ts @@ -274,15 +274,10 @@ const handleUpstreamErrors: ProxyResHandlerWithBody = async ( assertNever(service); } } else if (statusCode === 401) { - // OpenAI specific - retry with different key for any 401 error - if (service === "openai") { - keyPool.disable(req.key!, "revoked"); - await reenqueueRequest(req); - throw new RetryableError("OpenAI key authentication failed, retrying with different key."); - } - // Key is invalid or was revoked + // Universal 401 handling - authentication failed, retry with different key keyPool.disable(req.key!, "revoked"); - errorPayload.proxy_note = `Assigned API key is invalid or revoked, please try again.`; + await reenqueueRequest(req); + throw new RetryableError(`${service} key authentication failed, retrying with different key.`); } else if (statusCode === 402) { // Deepseek specific - insufficient balance if (service === "deepseek") {