From c5928c211a96a4bd1defe0d9abcc858860842846 Mon Sep 17 00:00:00 2001 From: Tu Shaokun <2801884530@qq.com> Date: Wed, 10 Dec 2025 15:36:54 +0800 Subject: [PATCH] fix(provider-cursor): include stderr output in error messages When cursor-agent exits with non-zero code, include the stderr output in the error message returned to the client. This makes debugging much easier as users can see the actual error from cursor-agent. Fixes #59 --- packages/provider-cursor/src/server.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/provider-cursor/src/server.ts b/packages/provider-cursor/src/server.ts index 42ec64b2f..a5b5d4513 100644 --- a/packages/provider-cursor/src/server.ts +++ b/packages/provider-cursor/src/server.ts @@ -100,6 +100,7 @@ export const createServer = () => { requestSignal.addEventListener("abort", killProcess); let buffer = ""; + let stderrBuffer = ""; const processLine = async (line: string) => { const event = parseStreamLine(line); @@ -165,7 +166,9 @@ export const createServer = () => { }); cursorProcess.stderr.on("data", (chunk: Buffer) => { - console.error("[cursor-agent stderr]:", chunk.toString()); + const text = chunk.toString(); + stderrBuffer += text; + console.error("[cursor-agent stderr]:", text); }); cursorProcess.stdin.write(fullPrompt); @@ -177,7 +180,11 @@ export const createServer = () => { if (code === 0 || cursorProcess.killed) { resolve(); } else { - reject(new Error(`cursor-agent exited with code ${code}`)); + const stderrOutput = stderrBuffer.trim(); + const errorMsg = stderrOutput + ? `cursor-agent exited with code ${code}\n${stderrOutput}` + : `cursor-agent exited with code ${code}`; + reject(new Error(errorMsg)); } });