Every time after the upgrade, Cursor Remote-SSH times out during remote server installation despite a successful download and extraction

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

After updating the local Cursor IDE, reconnecting to an SSH remote frequently fails with a server installation timeout because an existing .cursor-server process is still running on the remote host; the issue resolves only after manually killing the remote server process.

Here is the full log for reference:

[info] Resolving ssh remote authority 'orchard-flame-6' (Unparsed 'ssh-remote+7b22686f73744e616d65223a226f7263686172642d666c616d652d36227d') (attempt #1)
[info] SSH askpass server listening on /tmp/cursor-ssh-7V2oQ7/socket.sock
[debug] hostname: orchard-flame-6, remote platform map: {"orchard-flame-20":"linux","orchard-flame-21":"linux","orchard-flame-31":"linux","orchard-flame-6":"linux","orchard-flame-7":"linux","orchard-flame-0":"linux"}
[info] Using configured platform linux for remote host orchard-flame-6
[debug] hostname: orchard-flame-6, remote server install map: {}
[debug] hostname: orchard-flame-6, server port range map: {}
[info] Using askpass script: /home/haok/.cursor/extensions/anysphere.remote-ssh-1.0.36/dist/scripts/launchSSHAskpass.sh with javascript file /home/haok/.cursor/extensions/anysphere.remote-ssh-1.0.36/dist/scripts/sshAskClient.js. Askpass handle: /tmp/cursor-ssh-7V2oQ7/socket.sock
[info] Launching SSH server via shell with command: cat "/tmp/cursor_remote_install_29b8bd4a-5aa1-40a9-ad4d-5b9bd8eb23c0.sh" | ssh -T -D 42115 orchard-flame-6 bash --login -c bash
[info] Establishing SSH connection: cat "/tmp/cursor_remote_install_29b8bd4a-5aa1-40a9-ad4d-5b9bd8eb23c0.sh" | ssh -T -D 42115 orchard-flame-6 bash --login -c bash
[info] Started installation script. Waiting for it to finish...
[info] Waiting for server to install. Timeout: 30000ms
[info] (ssh_tunnel) stderr: Warning: Permanently added 'orchard-login-001' (ED25519) to the list of known hosts.

[info] (ssh_tunnel) stderr: Warning: Permanently added 'orchard-flame-6' (ED25519) to the list of known hosts.

[info] (ssh_tunnel) stdout: Configuring Cursor Server on Remote

[info] (ssh_tunnel) stdout: Using TMP_DIR: /tmp

[info] (ssh_tunnel) stdout: Locking /tmp/cursor-remote-lock.677ef533f6c97c64fcd13e270f7e45d5

[info] (ssh_tunnel) stdout: Downloading server via wget from https://downloads.cursor.com/production/20adc1003928b0f1b99305dbaf845656ff81f5d4/linux/x64/cursor-reh-linux-x64.tar.gz to cursor-server-193df1f7-667f-444a-912c-f930b2fa8c6d.tar.gz

[info] (ssh_tunnel) stderr: --2025-12-24 23:24:02--  https://downloads.cursor.com/production/20adc1003928b0f1b99305dbaf845656ff81f5d4/linux/x64/cursor-reh-linux-x64.tar.gz

[info] (ssh_tunnel) stderr: Resolving downloads.cursor.com (downloads.cursor.com)... 
[info] (ssh_tunnel) stderr: 104.18.17.128, 104.18.16.128, 2606:4700::6812:1180, ...
Connecting to downloads.cursor.com (downloads.cursor.com)|104.18.17.128|:443... 
[info] (ssh_tunnel) stderr: connected.

[info] (ssh_tunnel) stderr: HTTP request sent, awaiting response... 
[info] (ssh_tunnel) stderr: 200 OK
Length: 70104114 (67M) [application/gzip]
Saving to: ‘cursor-server-193df1f7-667f-444a-912c-f930b2fa8c6d.tar.gz’


cursor-server-193df   0%[                    ]       0  --.-KB/s               
[info] (ssh_tunnel) stderr: 
cursor-server-193df  46%[========>           ]  31.06M   153MB/s               
[info] (ssh_tunnel) stderr: 
cursor-server-193df  98%[==================> ]  65.70M   163MB/s               
cursor-server-193df 100%[===================>]  66.86M   165MB/s    in 0.4s    


[info] (ssh_tunnel) stdout: Extracting server contents from cursor-server-193df1f7-667f-444a-912c-f930b2fa8c6d.tar.gz

[info] (ssh_tunnel) stderr: 2025-12-24 23:24:03 (165 MB/s) - ‘cursor-server-193df1f7-667f-444a-912c-f930b2fa8c6d.tar.gz’ saved [70104114/70104114]


[error] Error installing server: [Error: Failed to install server within the timeout
	at Timeout._onTimeout (/home/haok/.cursor/extensions/anysphere.remote-ssh-1.0.36/dist/main.js:2:955729)
	at listOnTimeout (node:internal/timers:588:17)
	at process.processTimers (node:internal/timers:523:7)]
[info] Deleting local script /tmp/cursor_remote_install_29b8bd4a-5aa1-40a9-ad4d-5b9bd8eb23c0.sh
[error] Error resolving SSH authority [Error: Failed to install server within the timeout
	at Timeout._onTimeout (/home/haok/.cursor/extensions/anysphere.remote-ssh-1.0.36/dist/main.js:2:955729)
	at listOnTimeout (node:internal/timers:588:17)
	at process.processTimers (node:internal/timers:523:7)]

Steps to Reproduce

  1. Establish a Remote-SSH connection to a host using Cursor.
  2. Update the local Cursor IDE when prompted.
  3. Immediately reconnect to the same remote host.
  4. Observe a “Failed to install server within the timeout” error during remote server setup.
  5. Manually run pkill -f .cursor-server on the remote host and reconnect successfully.

Operating System

Linux

Current Cursor Version (Menu → About Cursor → Copy)

cursor/now 2.2.44-1766613274 amd64 [installed,local]

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report.

After upgrading, the old cursor-server process on the remote host doesn’t shut down automatically, which blocks the install of the new version.

Fix:

On the remote host, run:

pkill -f .cursor-server
rm -rf ~/.cursor-server /tmp/cursor-remote-lock.* /tmp/cursor-server-*.tar.gz

If the 30-second timeout isn’t enough for your network, add this to Cursor Settings (JSON):

"remote.SSH.connectTimeout": 120

A similar issue was fixed here: Connecting to Remote-SSH always fails Connecting to Remote-SSH always fails

The team is aware of this issue and is working on automatically cleaning up old processes during upgrades. Let me know if the workaround helps.

Thanks; I’m aware of the pkill solution. But, having the automatic clean up would be a much better user experience! 30-second timeout is typically enough.