From 95aced10b08a384302fc6e42fa0814896100fa8b Mon Sep 17 00:00:00 2001 From: sunlit-deng Date: Wed, 1 Jul 2026 16:13:24 +0800 Subject: [PATCH] fix(agents): recover thinking errors from provider body (#98411) --- src/agents/embedded-agent-runner/thinking.test.ts | 12 ++++++++++++ src/agents/embedded-agent-runner/thinking.ts | 1 + 2 files changed, 13 insertions(+) diff --git a/src/agents/embedded-agent-runner/thinking.test.ts b/src/agents/embedded-agent-runner/thinking.test.ts index 688772014c01..7f2f666d27c3 100644 --- a/src/agents/embedded-agent-runner/thinking.test.ts +++ b/src/agents/embedded-agent-runner/thinking.test.ts @@ -737,6 +737,18 @@ describe("wrapAnthropicStreamWithRecovery", () => { errorMessage: terminalThinkingSignatureError, }), }, + { + name: "ProviderHttpError errorBody", + createError: () => + Object.assign(new Error(genericizedProviderError), { + errorBody: JSON.stringify({ + error: { + message: terminalThinkingSignatureError, + type: "invalid_request_error", + }, + }), + }), + }, { name: "cyclic cause graph", createError: () => { diff --git a/src/agents/embedded-agent-runner/thinking.ts b/src/agents/embedded-agent-runner/thinking.ts index 210c508d6c72..07d5e3b072f4 100644 --- a/src/agents/embedded-agent-runner/thinking.ts +++ b/src/agents/embedded-agent-runner/thinking.ts @@ -545,6 +545,7 @@ function shouldRecoverAnthropicThinkingError( current.error, current.rawError, current.errorMessage, + current.errorBody, current.message, ]); for (const candidate of candidates) {