Stream response is slow

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

In all of the Agent’s responses, a final character is always missing. And the UI displays “Running”.

After about 30 seconds, the final character is added, and only then can the user continue the conversation.

Steps to Reproduce

Open a new chat. Choose any model.
Send any message.

As shown in the attached video, the AI ​​responded to almost all messages except “!”. The conversation remained frozen, and I couldn’t continue chatting. After about 10 seconds, it finally added the “!” mark, and only then did the agent turn end.

Expected Behavior

The model responds to the stream continuously and does not freeze.

Screenshots / Screen Recordings

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.3.34
VSCode Version: 1.105.1
Commit: 643ba67cd252e2888e296dd0cf34a0c5d7625b90
Date: 2026-01-10T21:17:10.428Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 24.5.0

For AI issues: which model did you use?

all

Additional Information

HTTP2 has been completely non-functional since the beginning of the week (even though I don’t have a VPN or firewall). I switched to HTTP 1.1.

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey @ngochip

Thanks for reporting this!

So just to confirm, this “last character” behavior happens when using HTTP 1.1? What happens when you use HTTP 2 (is there a specific error message? Just stalling?)

It would be great if you could share your Request ID and the output of your Network diagnostics.

@Colin, HTTP2 has been unstable lately. As you know, the Cursor frequently gets stuck at “planning next moves” (discussed in another thread). We couldn’t use HTTP2, so we switched to HTTP1.1.

At the time of writing, HTTP2 works fine, and the stream is good.

But HTTP1.1 is still experiencing this issue:

requestId with shared data:

fb612255-da90-4471-9212-a692f87728a3

Note that I have turned off all VPNs and firewalls. I’ve tried changing my internet connection… but nothing has worked.

HTTP 1.1

HTTP2: It looks okay. However, it will soon become stuck at “planning next moves” after some messages. and become unusable.

Could it maybe be because emojis cannot be displayed in your chat window? Sonnet likes to finish its responses with emojis and if they cannot be rendered it might seem like a part of the response is missing?

Thanks @ngochip

Could you pull a Request ID for one of these that gets stuck in planning next moves?

@Colin I just downgraded Cursor to do some tasks. I’ll upgrade and send you the request ID soon.

However, one thing I’m fairly certain of is that when I enter a custom OpenAI URL, it gets blocked by the backend cursor most of the time when using HTTP/2.

  1. If the URL has the domain: api.openai.com, the request is OK.

  2. If the URL is different, it will mostly be blocked and cause a stuck error.

  3. Switching to HTTP 1.1 makes everything OK, but it will cause a “last character” issue.

Currently, I’ve downgraded to 2.2.44, and everything works well, including HTTP2 and the custom API, no “last character” issue (on both http 1.1 and 2)

1 Like

@Colin

1. Open Cursor:

2. Chat => Working: 61fb1432-4858-4fdd-b1ed-679403f26f11

3. New chat => Not Working: 0d9d41fc-7542-43e6-9662-ba4061342a71

4. Close Cursor.

5. Open Cursor.

6. Chat => Working: 137719eb-81a4-45c9-8717-cbdd07833a59

7. New chat => Not Working: e5b77a44-4603-4041-96d1-8c876d57327d

More requestIds:

- a413b9f3-4ec1-4a6b-8097-e69da4dcc966 (my endpoint - stuck on “Planning next moves”)

  • d4c38745-0e8e-4ea2-87a0-77ab290821ad (cursor domain endpoint - not working - stuck on “Planning next moves”)
  • 5afaf75c-ff3f-4627-b696-9b7350a09a41 (openAI endpoint → working - 401 because I just gave it the wrong API key)

- 6ac0636e-59c7-405d-8bf1-912b9742c128 => HTTP 1.1 with Last character issue

- 1e857aca-a73d-47a3-ab9b-fe98911429ca => HTTP2 without Last character issue

Currently, HTTP2 works if custom endpoints are not enabled. I will send you the request ID when I find it.

But could you please check why the custom endpoint gets stuck?

Hey @ngochip!

Thanks for providing those Request IDs. Looking into the logs, I can see that you’re overriding the OpenAI Base URL to use your own model.

It looks like in the cases where your requests are failing, the custom endpoint is returning 400/500 errors. There’s really not much that can be done about that from our side. If you have access to the logs of that endpoint, you should investigate why those requests are being rejected.

Does switching to HTTP 1.1 and not using a custom endpoint give you the last character issue? That would help clarify if it’s an issue with Cursor, or an issue with your hosted model.

Does switching to HTTP 1.1 and not using a custom endpoint give you the last character issue? That would help clarify if it’s an issue with Cursor, or an issue with your hosted model.

Yes. The problem exists in the default settings as well (not using custom endpoint)

At that time, some requests was stuck at the Cursor instead of being sent to the endpoint.
No requests were sent to the endpoint (i checked logs at that time).

Furthermore, I changed the endpoint just to make debugging easier. Even after disabling the custom API, the issue above still occurred.

This went on for a long time. But it seems to have been fixed, as many people reported the “stuck planning next moves” issue.

since I updated to 2.3.35, everything has worked fine. i think this issue has been fixed in 2.3.35. All issues resolved: HTTP/2 stuck; HTTP/1.1 last character on both default/custom endpoints is no longer encountered.

1 Like

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.