Codebase indexing is not possible.. handshake failed

The codebase is super small though… a few files…

1 Like

Hey, could you share screenshots from the Output panel? You need to select Cursor Indexing & Retrieval from the dropdown menu.

@deanrie : what is “the” dropdown menu?

You need to click here:

@deanrie : here you go:

2025-02-12 08:17:17.909 [info] InternalRepoInfo constructor with preferredEmbeddingModel 0
2025-02-12 08:17:17.909 [info] Setting indexing intent to should-index
2025-02-12 08:17:17.910 [info] InternalRepoInfo constructor with preferredEmbeddingModel 0
2025-02-12 08:17:17.912 [info] Doing a startup handshake.
2025-02-12 08:17:17.912 [info] Creating merkle client.
2025-02-12 08:17:17.912 [info] Done creating merkle client.
2025-02-12 08:17:17.922 [info] Finished initializing merkle tree in 4.481499999994412 ms.
2025-02-12 08:17:17.923 [info] Doing the initial handshake with hash: 4deee9c1bef5b65be61a148c2e4b84c5580610167b2fb603b3703c2110d29c29
2025-02-12 08:17:17.925 [info] Handshake start
2025-02-12 08:17:18.158 [error] Error Checking Connection: [internal] unable to get local issuer certificate
2025-02-12 08:17:18.159 [info] Creating Indexing Repo client:  https://repo42.cursor.sh
2025-02-12 08:17:18.159 [info] Creating repo client with backend url: https://repo42.cursor.sh
2025-02-12 08:17:20.140 [warning] Retrying handshake with timeout 4000. Error:  [internal] unable to get local issuer certificate
2025-02-12 08:17:20.140 [info] Handshake start
2025-02-12 08:17:24.372 [warning] Retrying handshake with timeout 8000. Error:  [internal] unable to get local issuer certificate
2025-02-12 08:17:24.373 [info] Handshake start
2025-02-12 08:17:24.444 [error] Error Checking Connection: [internal] unable to get local issuer certificate
2025-02-12 08:17:24.445 [info] Creating Indexing Repo client:  https://repo42.cursor.sh
2025-02-12 08:17:24.445 [info] Creating repo client with backend url: https://repo42.cursor.sh
2025-02-12 08:17:32.425 [warning] Retrying handshake with timeout 16000. Error:  [internal] unable to get local issuer certificate
2025-02-12 08:17:32.425 [info] Handshake start
2025-02-12 08:17:32.514 [error] Error Checking Connection: [internal] unable to get local issuer certificate
2025-02-12 08:17:32.514 [info] Creating Indexing Repo client:  https://repo42.cursor.sh
2025-02-12 08:17:32.514 [info] Creating repo client with backend url: https://repo42.cursor.sh
2025-02-12 08:17:48.494 [warning] Retrying handshake with timeout 32000. Error:  [internal] unable to get local issuer certificate
2025-02-12 08:17:48.494 [info] Handshake start
2025-02-12 08:17:48.781 [error] Error Checking Connection: [internal] unable to get local issuer certificate
2025-02-12 08:17:48.781 [info] Creating Indexing Repo client:  https://repo42.cursor.sh
2025-02-12 08:17:48.782 [info] Creating repo client with backend url: https://repo42.cursor.sh
2025-02-12 08:18:20.724 [warning] Retrying handshake with timeout 64000. Error:  [internal] unable to get local issuer certificate
2025-02-12 08:18:20.724 [info] Handshake start
2025-02-12 08:18:21.017 [error] Error Checking Connection: [internal] unable to get local issuer certificate
2025-02-12 08:18:21.017 [info] Creating Indexing Repo client:  https://repo42.cursor.sh
2025-02-12 08:18:21.017 [info] Creating repo client with backend url: https://repo42.cursor.sh
2025-02-12 08:19:24.954 [warning] Retrying handshake with timeout 128000. Error:  [internal] unable to get local issuer certificate
2025-02-12 08:19:24.955 [error] Handshake failed:
2025-02-12 08:19:24.955 [error] Error: timeout in handshake with retry
    at t.RepoClientMultiplexer.handshakeWithRetry (c:\Users\XXXXXXXXXXXXX\AppData\Local\Programs\cursor\resources\app\extensions\cursor-retrieval\dist\main.js:4:192218)
    at Q.getServerStatus (c:\Users\XXXXXXXXXXXXX\AppData\Local\Programs\cursor\resources\app\extensions\cursor-retrieval\dist\main.js:4:200936)
    at Q.startIndexingRepository (c:\Users\XXXXXXXXXXXXX\AppData\Local\Programs\cursor\resources\app\extensions\cursor-retrieval\dist\main.js:4:201812)
2025-02-12 08:19:24.955 [error] Handshake failed.
2025-02-12 08:19:24.956 [info] Indexing job successfully done or aborted.

Thanks for the reports here. We are seeing a slightly higher error rate, and are investigating now.

For anyone seeing issues, I’d recommend deleting and reinstalling your codebase index.

I tried that before again and now again, and it fails consistently.

Same problem, deleting index doesn’t help

1 Like

Please note this is a blocking issue :frowning:

The line unable to get local issuer certificate suggests you have a corporate proxy, VPN, or self-signed certificate on your machine.

While not an official fix, you may try this extension, which lets Cursor use your machines trusted certificates for security:

1 Like

installed the extension , and unfortunately it still fails

Worth a try, sorry it didn’t work. We are looking at this internally, so may work in the future. For now, reaching out to your IT department might help since this seems certificate-related

they don’t want to… it’s a security mechanism…

Totally get that IT security restrictions can be frustrating. We’re actively building better support for environments with strict security policies - this is a top priority for us right now. I’ll make sure to update this thread when we have a solution that works with your security setup

1 Like

thank you! Please, be aware, that this is a deal breaker… because of this limitation, I cannot use Cursor unfortunately; so thank you

1 Like

I think these two are related:

Could you please help on this one??? it’s rly extremely urgent AND blocking… this has been ongoing for weeks… and this is fundamental, so can u imagine not being able to develop for weeks on a laptop ???

I know you’re working on this, but I’m sorry, that’s not enough… I want it solved (sorry, for my tone, but this is beyond frustration)… basically, if a customer buys a product that becomes useless once in hands… what do you expect as a reaction ?

Hey, we’ve tried to implement some workarounds for HTTP/2 not working ,can you guys try to reset the Disable HTTP2 setting, and enable the Enable HTTP2 Proxy Workaround too.