From 24a0f7b0320d14c66c6f5ceef02d02d408778f80 Mon Sep 17 00:00:00 2001 From: Ravi Tharuma Date: Mon, 16 Mar 2026 13:04:14 +0100 Subject: [PATCH] fix(runtime-fallback): extract status code from nested AI SDK errors AI SDK wraps HTTP status codes inside error.error.statusCode (e.g., AI_APICallError). The current extractStatusCode only checks the top level, missing these nested codes. This caused runtime-fallback to skip retryable errors like 400, 500, 504 because it couldn't find the status code. Fixes #2617 --- src/hooks/runtime-fallback/error-classifier.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/runtime-fallback/error-classifier.ts b/src/hooks/runtime-fallback/error-classifier.ts index c20aa8979..512ba734d 100644 --- a/src/hooks/runtime-fallback/error-classifier.ts +++ b/src/hooks/runtime-fallback/error-classifier.ts @@ -33,7 +33,7 @@ export function extractStatusCode(error: unknown, retryOnErrors?: number[]): num const errorObj = error as Record - const statusCode = errorObj.statusCode ?? errorObj.status ?? (errorObj.data as Record)?.statusCode + const statusCode = errorObj.statusCode ?? errorObj.status ?? (errorObj.data as Record)?.statusCode ?? (errorObj.error as Record)?.statusCode ?? (errorObj.cause as Record)?.statusCode if (typeof statusCode === "number") { return statusCode }