authorgravatar for 91240327+shivamhwp@users.noreply.github.comshivam <91240327+shivamhwp@users.noreply.github.com> 2026-09-13 22:35:24+05:30
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-13 14:05:24-03:00
log9bf349cf6b3988dd01e2d9871b99e1be883aaa41
treef6c81631e4d4d3401d4ef5fac64e8cfa358a8cdf
parent0118b52295264a73ef7cd045437181f7b3e5a99f
signature Signed by PGP key B5690EEEBB952194

fix(cursor): preserve internal agent errors without transport labels (#11365)


2 files changed, 4 insertions(+), 1 deletions(-)

apps/server/src/provider/acp/CursorTransportFailure.test.ts+2
...@@ -38,6 +38,8 @@ describe("CursorTransportFailure", () => {...@@ -38,6 +38,8 @@ describe("CursorTransportFailure", () => {
38 "Error: ConnectError: [unauthenticated] sign in",38 "Error: ConnectError: [unauthenticated] sign in",
39 "Error: ConnectError: [permission_denied] subscription required",39 "Error: ConnectError: [permission_denied] subscription required",
40 "Error: HTTP 500 from the application being debugged",40 "Error: HTTP 500 from the application being debugged",
41 "Error: RetriableError: [internal] Failed to run step, exceeded max retries",
42 "Error: RetriableError: [internal] Failed to run step, exceeded max retries\n at step (cli.js:1:2)",
41 ])("preserves prose, code and non-transport errors: %s", (message) => {43 ])("preserves prose, code and non-transport errors: %s", (message) => {
42 expect(failureFor([...message])).toBeUndefined();44 expect(failureFor([...message])).toBeUndefined();
43 });45 });
apps/server/src/provider/acp/CursorTransportFailure.ts+2-1
...@@ -1,6 +1,7 @@...@@ -1,6 +1,7 @@
1const maxLineLength = 4096;1const maxLineLength = 4096;
2// Cursor also uses RetriableError for agent-loop failures; preserve those diagnostics.
2const transportError =3const transportError =
3 /^Error: (?:RetriableError: .+|ConnectError: \[(?:unavailable|aborted|deadline_exceeded)\].*)$/;4 /^Error: (?:RetriableError: (?!\[internal\]).+|ConnectError: \[(?:unavailable|aborted|deadline_exceeded)\].*)$/;
4const serverError = "Something went wrong communicating with the server. Please try again.";5const serverError = "Something went wrong communicating with the server. Please try again.";
56
6interface ReplyState {7interface ReplyState {