Indexing Handshake Failed within Dev Container

I am using Cursor on my company laptop. It has ZScaler installed and running.

Out of the box on my host machine, Cursor works perfectly. The codebase is indexed, I can use the agent, and I don’t have to disable http/2.

However, when I run inside a VS Code dev container, indexing fails with a handshake error.

I do have the ZScaler cert inside my container and am able to make other network requests & the agent works fine. Specifically seems to be an issue with indexing & TLS.

Any tips? I have the following set:

  • NODE_EXTRA_CA_CERTS
  • SSL_CERT_FILE
  • CURL_CA_BUNDLE
  • REQUESTS_CA_BUNDLE

I am on Cursor v0.48.6

Same here, after todays update.

2025-04-01 08:35:21.907 [info] Handshake start
2025-04-01 08:35:25.915 [warning] Retrying handshake with timeout 4000. Error: [deadline_exceeded] the operation timed out
2025-04-01 08:35:25.915 [info] Handshake start
2025-04-01 08:35:33.923 [warning] Retrying handshake with timeout 8000. Error: [deadline_exceeded] the operation timed out
2025-04-01 08:35:33.924 [info] Handshake start
2025-04-01 08:35:49.938 [warning] Retrying handshake with timeout 16000. Error: [deadline_exceeded] the operation timed out
2025-04-01 08:35:49.938 [info] Handshake start
2025-04-01 08:36:21.950 [warning] Retrying handshake with timeout 32000. Error: [deadline_exceeded] the operation timed out
2025-04-01 08:36:21.951 [info] Handshake start
2025-04-01 08:37:25.959 [warning] Retrying handshake with timeout 64000. Error: [deadline_exceeded] the operation timed out
2025-04-01 08:37:25.959 [info] Handshake start
2025-04-01 08:37:40.969 [info] Creating Indexing Repo client: https://repo42.cursor.sh
2025-04-01 08:37:40.970 [info] Creating repo client with backend url: https://repo42.cursor.sh
2025-04-01 08:38:44.978 [warning] Retrying handshake with timeout 128000. Error: [canceled] This operation was aborted
2025-04-01 08:38:44.979 [error] Handshake failed:
2025-04-01 08:38:44.980 [error] Error: timeout in handshake with retry
at A.RepoClientMultiplexer.tryHandshake (/Applications/Cursor.app/Contents/Resources/app/extensions/cursor-retrieval/dist/main.js:4:1373725)
at A.RepoClientMultiplexer.handshakeWithRetry (/Applications/Cursor.app/Contents/Resources/app/extensions/cursor-retrieval/dist/main.js:4:1371346)
at T.getServerStatus (/Applications/Cursor.app/Contents/Resources/app/extensions/cursor-retrieval/dist/main.js:4:1383646)
at T.startIndexingRepository (/Applications/Cursor.app/Contents/Resources/app/extensions/cursor-retrieval/dist/main.js:4:1385253)
2025-04-01 08:38:44.981 [error] Handshake failed.

Version: 0.48.6

VSCode Version: 1.96.2

Commit: 1649e229afdef8fd1d18ea173f063563f1e722e0

Date: 2025-03-31T04:59:09.581Z (1 day ago)

Electron: 34.3.4

Chromium: 132.0.6834.210

Node.js: 20.18.3

V8: 13.2.152.41-electron.0

OS: Darwin arm64 24.3.0

It happeend to me too. Why?

2025-03-31 23:58:25.960 [info] Creating Indexing Repo client: https://repo42.cursor.sh
2025-03-31 23:58:25.960 [info] Creating repo client with backend url: https://repo42.cursor.sh
2025-03-31 23:58:25.960 [error] Git command failed: git config --get remote.origin.url Command failed: git config --get remote.origin.url

2025-03-31 23:58:25.960 [error] Error getting repo info: Command failed: git config --get remote.origin.url

2025-03-31 23:58:25.960 [error] Error: Command failed: git config --get remote.origin.url

at genericNodeError (node:internal/errors:984:15)
at wrappedFn (node:internal/errors:538:14)
at ChildProcess.exithandler (node:child_process:422:12)
at ChildProcess.emit (node:events:518:28)
at ChildProcess.emit (node:domain:489:12)
at maybeClose (node:internal/child_process:1104:16)
at Socket.<anonymous> (node:internal/child_process:456:11)
at Socket.emit (node:events:518:28)
at Socket.emit (node:domain:489:12)
at Pipe.<anonymous> (node:net:343:12)

2025-03-31 23:58:25.960 [info] Using existing keys for an index
2025-03-31 23:58:25.960 [info] InternalRepoInfo constructor with preferredEmbeddingModel 0
2025-03-31 23:58:25.960 [info] Doing a startup handshake.
2025-03-31 23:58:26.146 [info] Finished computing merkle tree in 201.40879999999925 ms.
2025-03-31 23:58:26.211 [info] Doing the initial handshake with hash: 65047fddc8e7e6bd8cff4359b05c18263d7d66dd38f42e4a0573e0d4ee719532
2025-03-31 23:58:26.285 [info] Computed simhash vector of length: 256
2025-03-31 23:58:26.285 [info] Path key hash: f7c03970ec830fe4bb00ffeafb7dc6763e15f3c81fc0b3cc2e905c97117d0c53
2025-03-31 23:58:26.285 [info] Handshake start
2025-03-31 23:58:30.287 [warning] Retrying handshake with timeout 4000. Error: [deadline_exceeded] the operation timed out
2025-03-31 23:58:30.287 [info] Handshake start
2025-03-31 23:58:38.315 [warning] Retrying handshake with timeout 8000. Error: [deadline_exceeded] the operation timed out
2025-03-31 23:58:38.315 [info] Handshake start
2025-03-31 23:58:54.330 [warning] Retrying handshake with timeout 16000. Error: [deadline_exceeded] the operation timed out
2025-03-31 23:58:54.331 [info] Handshake start
2025-03-31 23:59:26.356 [warning] Retrying handshake with timeout 32000. Error: [deadline_exceeded] the operation timed out
2025-03-31 23:59:26.356 [info] Handshake start
2025-04-01 00:00:30.386 [warning] Retrying handshake with timeout 64000. Error: [deadline_exceeded] the operation timed out
2025-04-01 00:00:30.386 [info] Handshake start

What is the issue?

same here, seems its a general issue…

[edit] it synced now! gg anysphere

can confirm, its working now