Tab broken in latest update

2025-02-03 09:55:24.076 [info] CURSOR LOG: Error in streaming cpp (connect error) [unavailable] Error
2025-02-03 09:55:26.824 [info] CURSOR LOG: Aborting streaming cpp with id 90945899-01dd-42e0-a8b1-8dc2857e9310
2025-02-03 09:55:26.825 [info] CPP RT LOG: Time taken for streaming cpp 5405.9970703125 with request 90945899-01dd-42e0-a8b1-8dc2857e9310
2025-02-03 09:55:26.825 [info] =======>No stream again 90945899-01dd-42e0-a8b1-8dc2857e9310
2025-02-03 09:55:27.040 [info] CURSOR LOG: Aborting streaming cpp with id 76ce6d3a-4bf2-443d-9d81-99d9f0588931
2025-02-03 09:55:27.040 [info] CPP RT LOG: Time taken for streaming cpp 5308.538330078125 with request 76ce6d3a-4bf2-443d-9d81-99d9f0588931
2025-02-03 09:55:27.040 [info] =======>No stream again 76ce6d3a-4bf2-443d-9d81-99d9f0588931
2025-02-03 09:55:27.317 [info] CURSOR LOG: Aborting streaming cpp with id 27896619-1398-4e6d-9213-026df9889ede
2025-02-03 09:55:27.318 [info] CPP RT LOG: Time taken for streaming cpp 5798.213134765625 with request 27896619-1398-4e6d-9213-026df9889ede
2025-02-03 09:55:27.318 [info] =======>No stream again 27896619-1398-4e6d-9213-026df9889ede
2025-02-03 09:55:28.815 [info] CURSOR LOG: requestId 99161b05-975f-48e4-b1d5-a402d75812df  
2025-02-03 09:55:29.118 [info] CURSOR LOG: Aborting streaming cpp with id 9b57dc25-08da-4a00-a9e8-78f87646990e
2025-02-03 09:55:29.118 [info] CPP RT LOG: Time taken for streaming cpp 6863.996337890625 with request 9b57dc25-08da-4a00-a9e8-78f87646990e
2025-02-03 09:55:29.118 [info] =======>No stream again 9b57dc25-08da-4a00-a9e8-78f87646990e
2025-02-03 09:55:29.746 [info] CURSOR LOG: Error in streaming cpp (connect error) [canceled] This operation was aborted
2025-02-03 09:55:29.843 [error] Error Checking Connection: [internal] unable to get local issuer certificate
2025-02-03 09:55:30.468 [info] CURSOR LOG: Aborting streaming cpp with id d426c817-c675-46af-9f16-4816789fb313
2025-02-03 09:55:30.468 [info] CPP RT LOG: Time taken for streaming cpp 8874.231689453125 with request d426c817-c675-46af-9f16-4816789fb313
2025-02-03 09:55:30.468 [info] =======>No stream again d426c817-c675-46af-9f16-4816789fb313```

Version: 0.45.9
VSCode Version: 1.96.2
Commit: cce0110ca40ceb61e76ecea08d24210123895320
Date: 2025-02-02T06:44:49.761Z (1 day ago)
Electron: 32.2.6
Chromium: 128.0.6613.186
Node.js: 20.18.1
V8: 12.8.374.38-electron.0
OS: Darwin arm64 23.6.0

HTTP2 is disabled. Was working fine yesterday. I want to use cursor so bad but it frequently breaks during updates and it’s really frustrating.

Hey, this looks like an issue on your end, as Cursor is unable to verify the SSL chain between your machine and our servers.

Are you working within a corporate network environment, or have a proxy setup on your device?

Corporate network. It was working before I updated so I find it unlikely to be a problem with my network. Http2 is disabled.

What OS are you on? Theres some extensions available that allow certificates in the chain to be used within Cursor when they are trusted on the OS.

e.g.
Windows: win-ca - Visual Studio Marketplace
Mac: Mac CA VSCode - Visual Studio Marketplace

I’m on a Mac, I have been using that extension.

Ah, and to be clear, it’s not working still?

It was fixed in one of the following updates last week.

Aaand it’s broken again. Log looks different now after playing with Http System Certificates V2.

2025-02-13 10:37:06.053 [info] =======>Debug stream time 620.5707299999776
2025-02-13 10:37:06.054 [info] =======>Debug ttft time 283.61113599996315
2025-02-13 10:37:06.054 [info] Average of latest 20 ttft time 231.64169282352498
2025-02-13 10:37:06.054 [info] Average of latest 20 stream time 540.234154444453
2025-02-13 10:37:06.054 [info] Average of latest 20 total time NaN
2025-02-13 10:37:06.054 [info] Average of latest 20 client time 1062.5398954503676
2025-02-13 10:37:06.054 [info] Average of latest 20 discrepencies NaN
2025-02-13 10:37:06.054 [info] CPP RT LOG: All stats {"streamingtime":1982.982177734375,"actualTtftFromStart":2044.122802734375,"timeTillServerRequest":61.70654296875,"requestToTtft":1982.416259765625,"totalTime":2044.67626953125}
2025-02-13 10:37:10.582 [error] Error Checking Connection: [internal] Protocol error
2025-02-13 10:37:21.669 [error] Error Checking Connection: [internal] Protocol error

Since you’re on a corporate network, these protocol errors are almost certainly due to HTTP/2 connectivity issues - even with HTTP/2 disabled, some Cursor features still require HTTP/2 connections. Your network/proxy is likely blocking or interfering with these connections

Can you try running:

curl -I --http2 -v https://api2.cursor.sh

And share what you see? This will help confirm if HTTP/2 is working properly on your network

> curl -I --http2 -v https://api2.cursor.sh
*   Trying 34.203.174.58:443...
* Connected to api2.cursor.sh (34.203.174.58) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=api2.cursor.sh
*  start date: Dec 11 00:00:00 2024 GMT
*  expire date: Jan 10 23:59:59 2026 GMT
*  subjectAltName: host "api2.cursor.sh" matched cert's "api2.cursor.sh"
*  issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M03
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* Using Stream ID: 1 (easy handle 0x55e9996adeb0)
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
> HEAD / HTTP/2
> Host: api2.cursor.sh
> user-agent: curl/7.81.0
> accept: */*
> 
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
< HTTP/2 200 
HTTP/2 200 
< date: Thu, 20 Feb 2025 15:19:03 GMT
date: Thu, 20 Feb 2025 15:19:03 GMT
< content-type: text/plain
content-type: text/plain
< content-length: 188
content-length: 188
< vary: Origin
vary: Origin
< access-control-allow-credentials: true
access-control-allow-credentials: true
< access-control-expose-headers: Grpc-Status, Grpc-Message, Grpc-Status-Details-Bin, Content-Encoding, Connect-Content-Encoding, traceparent, backend-traceparent, x-amzn-trace-id, x-request-id
access-control-expose-headers: Grpc-Status, Grpc-Message, Grpc-Status-Details-Bin, Content-Encoding, Connect-Content-Encoding, traceparent, backend-traceparent, x-amzn-trace-id, x-request-id

< 
* Connection #0 to host api2.cursor.sh left intact

Looks like HTTP/2 is actually working fine from your machine to our servers - the connection test succeeded.

Since you mentioned Http System Certificates V2, this is likely related to certificate handling rather than HTTP/2. We are hoping to add on better support for Cursor’s features over more secure network setups, or where self-signed certificates are being used soon!