From 723f91c69515ca4118f9fc4a09d6ac6416b53c3a Mon Sep 17 00:00:00 2001 From: niStee <52573120+niStee@users.noreply.github.com> Date: Sun, 24 May 2026 01:57:00 +0200 Subject: [PATCH] fix(tool): trigger fallback on empty task output --- packages/opencode/src/tool/task.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/tool/task.ts b/packages/opencode/src/tool/task.ts index fece68800b06..5653c5649179 100644 --- a/packages/opencode/src/tool/task.ts +++ b/packages/opencode/src/tool/task.ts @@ -208,7 +208,13 @@ export const TaskTool = Tool.define( }, parts, }) - return result.parts.findLast((item) => item.type === "text")?.text ?? "" + const text = result.parts.findLast((item) => item.type === "text")?.text + if (text === undefined || text.trim() === "") { + return yield* Effect.fail( + new Error("Task completed with no text output — model may have been rate-limited or returned an empty response"), + ) + } + return text }) const resumeWhenIdle: (input: { userID: MessageID; state: "completed" | "error" }) => Effect.Effect =