Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
The Remote SSH installer consistently stalls during the install/cleanup phase and then fails with “Failed to install server within the timeout,” even though authentication and shell startup succeed. This began only after reinstalling Cursor using the latest macOS ARM64 installer from the official site; prior to the reinstall, this flow worked on the same environment.
The install script prints “Configuring Cursor Server on Remote,” selects a TMP directory under /run/user/, reports that no prior code/multiplex servers are running, prints “Removing all existing Cursor installations,” and then makes no further progress until the global timeout elapses. No sensitive identifiers (hostnames/IPs/usernames) are included here.
Steps to Reproduce
On macOS (ARM64 build of Cursor freshly reinstalled from the official installer), open Cursor and use Remote SSH to connect to a Linux host in an HPC/Slurm environment.
Watch the Remote - SSH output: after initial configuration/cleanup messages, the sequence stalls at “Removing all existing Cursor installations.”
Wait ~3 minutes; the client fails with “Failed to install server within the timeout.” Reattempts reproduce the same stall and timeout.
Expected Behavior
After cleanup, the installer should proceed to download or detect the server payload, extract into ~/.cursor-server/bin//, start the remote server, emit listening/connection token markers, and complete the handshake, rather than stalling and timing out.
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Version: 0.50.5 (Universal)
VSCode Version: 1.96.2
Commit: 96e5b01ca25f8fbd4c4c10bc69b15f6228c80770
Additional Information
Logs here:
2025-08-26 21:57:08.488 [info] Resolving ssh remote authority ‘host’ (attempt #1)
2025-08-26 21:57:08.493 [info] SSH askpass server listening on /tmp/cursor-ssh-/socket.sock
2025-08-26 21:57:08.493 [info] Using configured platform linux for remote host host
2025-08-26 21:57:08.494 [info] Using askpass script: ~/.cursor/extensions/anysphere.remote-ssh-1.0.26/dist/scripts/launchSSHAskpass.sh
2025-08-26 21:57:08.497 [info] Launching SSH server via shell with command: cat "/tmp/cursor_remote_install_.sh" | ssh -T -D 54027 host bash --login -c bash
2025-08-26 21:57:08.497 [info] Started installation script. Waiting for it to finish…
2025-08-26 21:57:11.114 [info] (ssh_tunnel) stdout: Configuring Cursor Server on Remote
2025-08-26 21:57:11.118 [info] (ssh_tunnel) stdout: Using TMP_DIR: /run/user/***
2025-08-26 21:57:11.140 [info] (ssh_tunnel) stdout: Killing all running Cursor servers
2025-08-26 21:57:11.323 [info] (ssh_tunnel) stdout: No running code servers found
2025-08-26 21:57:11.325 [info] (ssh_tunnel) stdout: Killing all running multiplex servers
2025-08-26 21:57:11.505 [info] (ssh_tunnel) stdout: No running multiplex servers found
2025-08-26 21:57:11.507 [info] (ssh_tunnel) stdout: Removing all existing Cursor installations
2025-08-26 22:00:11.513 [error] Error installing server: Failed to install server within the timeout
2025-08-26 22:00:11.515 [error] Error resolving SSH authority Failed to install server within the timeout
2025-08-26 22:03:19.643 [info] (ssh_tunnel) stderr: rm: cannot remove ‘/home//.cursor-server/bin//node_modules’: Directory not empty
2025-08-26 22:04:37.487 [info] (ssh_tunnel) stdout: Deleting left behind cursor servers, except for /home//.cursor-server/cursor-server-.tar.gz
2025-08-26 22:06:10.939 [info] (ssh_tunnel) stdout: Done deleting left behind cursor servers
2025-08-26 22:06:11.174 [info] (ssh_tunnel) stdout: Locking /run/user//cursor-remote-lock.
2025-08-26 22:06:11.220 [info] (ssh_tunnel) stdout: Downloading server via wget from https://downloads.cursor.com/production/***/linux/x64/cursor-reh-linux-x64.tar.gz
2025-08-26 22:06:11.358 [info] (ssh_tunnel) stderr: 200 OK (62 MB) [application/gzip]
2025-08-26 22:06:13.033 [info] (ssh_tunnel) stdout: Extracting server contents
2025-08-26 22:10:32.889 [info] Resolving ssh remote authority ‘host’ (attempt #1)
2025-08-26 22:10:32.902 [info] Using askpass script: ~/.cursor/extensions/anysphere.remote-ssh-1.0.26/dist/scripts/launchSSHAskpass.sh
2025-08-26 22:10:32.905 [info] Launching SSH server with install script …
2025-08-26 22:10:37.129 [info] (ssh_tunnel) stdout: Configuring Cursor Server on Remote
2025-08-26 22:10:37.338 [info] (ssh_tunnel) stdout: Killing all running Cursor servers
2025-08-26 22:10:37.550 [info] (ssh_tunnel) stdout: No running code servers found
2025-08-26 22:10:37.723 [info] (ssh_tunnel) stdout: No running multiplex servers found
2025-08-26 22:10:37.723 [info] (ssh_tunnel) stdout: Removing all existing Cursor installations
2025-08-26 22:12:00.084 [info] (ssh_tunnel) stderr: rm: cannot remove ‘/home//.cursor-server/bin//node_modules’: Directory not empty
2025-08-26 22:13:00.299 [info] (ssh_tunnel) stdout: Deleting leftover cursor servers
2025-08-26 22:14:48.118 [info] (ssh_tunnel) stdout: Done deleting
2025-08-26 22:14:48.327 [info] (ssh_tunnel) stdout: Locking /run/user//cursor-remote-lock.
2025-08-26 22:14:48.328 [info] (ssh_tunnel) stderr: ln: failed to create hard link ‘/run/user//cursor-remote-lock.’: File exists
(repeated many times…)
2025-08-26 22:15:18.527 [info] (ssh_tunnel) stdout: start
exitCode==1==
nodeExecutable==/home//.cursor-server/bin//node==
errorMessage==Could not acquire lock after multiple attempts==
detectedPlatform==linux==
arch==x64==
… end
2025-08-26 22:15:18.532 [error] Error installing server: Couldn’t install Cursor Server, install script returned non-zero exit status: Could not acquire lock after multiple attempts
The “Most recent scrubbed log pattern” is fine to keep verbatim; it describes installer phases generically and doesn’t assume HPC:
“Configuring Cursor Server on Remote”
“Using TMP_DIR: /run/user/”
“Killing all running Cursor servers” → “No running code servers found”
“Killing all running multiplex servers” → “No running multiplex servers found”
“Removing all existing Cursor installations”
Then no further output until “Failed to install server within the timeout.”
Does this stop you from using Cursor
Yes - Cursor is unusable