Using the cursor typescript sdk and repeatedly hit cases where a run fails

Where does the bug appear (feature/product)?

Cursor SDK

Describe the Bug

Hi Cursor team, we are seeing repeated Cursor SDK runs ending with status: "error" but without any actionable error details.

In these cases, agent.send() succeeds, run.stream() only emits RUNNING -> ERROR, and run.wait() resolves instead of throwing a CursorSdkError. The returned result only contains fields like status, id, requestId, model, and durationMs, but no code, error type, message, HTTP status, operation, isRetryable, or helpUrl.

Could you help check what these failures are? Also, is there a recommended SDK-side way to get the actual error type/details when run.wait() returns { status: "error" } instead of throwing a CursorSdkError?

Steps to Reproduce

Repro path in our integration:

  1. Create or resume a local Cursor SDK agent with @cursor/sdk.
  2. Call agent.send(message, { model }).
  3. Consume run.stream().
  4. The stream only emits status transitions like RUNNING -> ERROR.
  5. Call run.wait().
  6. run.wait() resolves with { status: "error", id, requestId, model, durationMs } instead of throwing a CursorSdkError.
  7. The result contains no code, error type, message, HTTP status, operation, isRetryable, or helpUrl.

Operating System

Linux

Version Information

@cursor/sdk v1.0.18

For AI issues: which model did you use?

composer-2.5, default(auto), gpt-5.5 etc

For AI issues: add Request ID with privacy disabled

Example requestIds:

  • 59d4d45f-20bf-4703-a6cb-f5bda5d52115
  • 5d855789-612f-4739-b9bc-ef890d57e126
  • 140d0d11-fcbb-4370-95e5-94eac09f03f5
  • 665930bd-531d-4644-9276-9cbf9b1756e5
  • 5f012fab-e800-49ff-a16f-314219a042ae
  • 06b1fb38-959f-4a91-a92e-3d9a09c656de

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey @Zhenduo_Hou!

Have a look at this thread, it seems to match what you’re reporting:

Thanks @Colin . Really appreciate your quick response. I took a quick look at the post you shared with me, and it is indeed the same issue. I’d like to ask if there have been any follow-ups or updates on this issue?