From ff6a93f3555758f493caac0f5ceb0c8a39738e34 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Wed, 17 Sep 2025 14:24:53 -0500 Subject: [PATCH] fix: only keep aborted messages if they have sufficient parts (#2651) --- packages/opencode/src/session/prompt.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index c61403259..062a99695 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -281,9 +281,19 @@ export namespace SessionPrompt { }), ), ...MessageV2.toModelMessage( - msgs.filter( - (m) => !(m.info.role === "assistant" && m.info.error && !MessageV2.AbortedError.isInstance(m.info.error)), - ), + msgs.filter((m) => { + if (m.info.role !== "assistant" || m.info.error === undefined) { + return true + } + if ( + MessageV2.AbortedError.isInstance(m.info.error) && + m.parts.some((part) => part.type !== "step-start" && part.type !== "reasoning") + ) { + return true + } + + return false + }), ), ], tools: model.info.tool_call === false ? undefined : tools,