Describe the Bug
Vscode is work fine, but cursor can not connet my server
66700K .......... ..........
2025-06-16 14:50:14.266 [info] (ssh_tunnel) stdout: .......... .......... .......... 99% 325K 0s
66750K .......... .......... .......... .......... . 100% 109M=4m9s
2025-06-16 14:50:14 (268 KB/s) - ‘cursor-server-90254e93-f3f1-4169-8743-f8c24c8b8051.tar.gz’ saved [68394992/68394992]
2025-06-16 14:50:16.037 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ echo "Checking node executable"
Checking node executable
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<017:~$ if ! $SERVER_NODE_EXECUTABLE --version; then
>
2025-06-16 14:50:16.037 [info] (ssh_tunnel) stdout:
<DE_EXECUTABLE is not working, checking system node"
> SYSTEM_NODE=$(which node)
> if [[ -n "$SYSTEM_NODE" ]]; then
> echo "System node version: $($SYSTEM_NODE --version)"
>
<(parseInt(process.version.slice(1)) >= 20 ? 0 : 1)"
> if [[ $? -eq 0 ]]; then
> echo "System node version is 20 or higher, creating symlink"
> ln -sf $SYSTEM_NODE $SERVER_NODE_EXECUTABLE
>
<mlink from $SERVER_NODE_EXECUTABLE to $SYSTEM_NODE"
> else
>
<l NodeJS 20 or higher on your remote system" "true"
> fi
> else
>
2025-06-16 14:50:16.043 [info] (ssh_tunnel) stdout:
<l NodeJS 20 or higher on your remote system" "true"
> fi
> fi
v20.18.2
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ # Clean up stale builds
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<ITS=$(ls -1 -t "$SERVER_DATA_DIR/bin" | tail -n +6)
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<rning-4801017:~$ for OLD_COMMIT in $OLD_COMMITS; do
>
<_COMMIT | grep -v grep | wc -l | tr -d '[:space:]'`
> if [[ $IS_RUNNING -eq 0 ]]; then
> echo "Cleaning up stale build $OLD_COMMIT"
> if [[ "$OLD_COMMIT" != "$SERVER_COMMIT" ]]; then
>
</bin/$OLD_COMMIT" "$SERVER_DATA_DIR/.$OLD_COMMIT.*"
> fi
> else
> echo "Build $OLD_COMMIT is still running, skipping"
> fi
> done
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
Iyongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<01017:~$ # Try to find if server is already running
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<running multiplex server: $MULTIPLEX_SERVER_SCRIPT"
Checking for running multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<1017:~$ if [[ -f $MULTIPLEX_SERVER_PIDFILE ]]; then
> MULTIPLEX_SERVER_PID="$(cat $MULTIPLEX_SERVER_PIDFILE)"
>
<TIPLEX_SERVER_PID | grep $MULTIPLEX_SERVER_SCRIPT)"
> else
>
<-A | grep $MULTIPLEX_SERVER_SCRIPT | grep -v grep)"
> fi
2025-06-16 14:50:16.257 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<ultiplex server: $MULTIPLEX_SERVER_RUNNING_PROCESS"
2025-06-16 14:50:16.258 [info] (ssh_tunnel) stdout: Running multiplex server:
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<OGFILE || ! -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
> if [[ -f $MULTIPLEX_SERVER_LOGFILE ]]; then
>
2025-06-16 14:50:16.262 [info] (ssh_tunnel) stdout: rm $MULTIPLEX_SERVER_LOGFILE
> fi
> if [[ -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
> rm $MULTIPLEX_SERVER_TOKENFILE
> fi
>
> touch $MULTIPLEX_SERVER_TOKENFILE
> chmod 600 $MULTIPLEX_SERVER_TOKENFILE
>
<ECTION_TOKEN="d3a817fc-3771-4b6b-bee5-a594776b8024"
> echo $MULTIPLEX_SERVER_CONNECTION_TOKEN > $MULTIPLEX_SERVER_TOKENFILE
>
>
<e manually inject it into the extension host later.
>
<s from being used across ALL connections by default
>
> # Backing it up, NOT exporting it
> if [[ -n "$SSH_AUTH_SOCK" ]]; then
> ORIGINAL_SSH_AUTH_SOCK=$SSH_AUTH_SOCK
> unset SSH_AUTH_SOCK
> fi
>
>
<tiplex server: $(dirname $MULTIPLEX_SERVER_SCRIPT)"
> mkdir -p $(dirname "$MULTIPLEX_SERVER_SCRIPT")
> echo "Writing multiplex server script to $MULTIPLEX_SERVER_SCRIPT"
>
2025-06-16 14:50:16.269 [info] (ssh_tunnel) stdout:
<dev/null || base64 -D) > "$MULTIPLEX_SERVER_SCRIPT"
2025-06-16 14:50:16.270 [info] (ssh_tunnel) stdout: >
>
2025-06-16 14:50:16.272 [info] (ssh_tunnel) stdout:
<X_SERVER_SCRIPT $MULTIPLEX_SERVER_CONNECTION_TOKEN"
>
2025-06-16 14:50:16.272 [info] (ssh_tunnel) stdout:
<R_CONNECTION_TOKEN" &> $MULTIPLEX_SERVER_LOGFILE &
> echo $! > $MULTIPLEX_SERVER_PIDFILE
>
>
2025-06-16 14:50:16.274 [info] (ssh_tunnel) stdout: # Restoring the original SSH_AUTH_SOCK
> if [[ -n "$ORIGINAL_SSH_AUTH_SOCK" ]]; then
> export SSH_AUTH_SOCK=$ORIGINAL_SSH_AUTH_SOCK
> unset ORIGINAL_SSH_AUTH_SOCK
> fi
> else
>
<ng processes are $MULTIPLEX_SERVER_RUNNING_PROCESS"
2025-06-16 14:50:16.276 [info] (ssh_tunnel) stdout: > fi
2025-06-16 14:50:16.279 [info] (ssh_tunnel) stdout: Creating directory for multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server
2025-06-16 14:50:16.284 [info] (ssh_tunnel) stdout: Writing multiplex server script to /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js
2025-06-16 14:50:16.287 [info] (ssh_tunnel) stdout: Starting multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/53b99ce608cba35127ae3a050c1738a959750860/node /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js d3a817fc-3771-4b6b-bee5-a594776b8024
[2] 3450397
2025-06-16 14:50:16.288 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
2025-06-16 14:50:16.288 [info] (ssh_tunnel) stdout:
<plex server token file $MULTIPLEX_SERVER_TOKENFILE"
Reading multiplex server token file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a9597508606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.token
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
2025-06-16 14:50:16.293 [info] (ssh_tunnel) stdout:
<17:~$ if [[ -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
> echo "Multiplex server token file found"
> MULTIPLEX_SERVER_CONNECTION_TOKEN="$(cat $MULTIPLEX_SERVER_TOKENFILE)"
> else
>
< token file not found: $MULTIPLEX_SERVER_TOKENFILE"
> fi
Multiplex server token file found
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<ultiplex server log file $MULTIPLEX_SERVER_LOGFILE"
Reading multiplex server log file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a9597508606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.log
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ for i in {1..20}; do
> if [[ -f $MULTIPLEX_SERVER_LOGFILE ]]; then
>
<listening on .+' | sed 's/Server listening on //')"
> if [[ -n "$MULTIPLEX_LISTENING_ON" ]]; then
> break
2025-06-16 14:50:16.293 [info] (ssh_tunnel) stdout: > fi
> fi
> sleep 0.5
> done
2025-06-16 14:50:16.802 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<1017:~$ if [[ -z "$MULTIPLEX_LISTENING_ON" ]]; then
> echo "Error multiplex server did not start successfully"
> # Reading the logfile, to help with debugging
> cat $MULTIPLEX_SERVER_LOGFILE || true
>
<xit 1 "Multiplex server did not start successfully"
2025-06-16 14:50:16.803 [info] (ssh_tunnel) stdout: > fi
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<earning-4801017:~$ echo "Checking for code servers"
Checking for code servers
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<g-4801017:~$ if [[ -f $CODE_SERVER_PIDFILE ]]; then
> CODE_SERVER_PID="$(cat $CODE_SERVER_PIDFILE)"
>
<ep -w $CODE_SERVER_PID | grep $CODE_SERVER_SCRIPT)"
> else
>
<args -A | grep $CODE_SERVER_SCRIPT | grep -v grep)"
> fi
2025-06-16 14:50:17.002 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<les exists; otherwise we need to start a new server
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<VER_TOKENFILE || ! -f $CODE_SERVER_LOGFILE ]]; then
> echo "Code server script is not running"
>
2025-06-16 14:50:17.002 [info] (ssh_tunnel) stdout: if [[ -f $CODE_SERVER_LOGFILE ]]; then
> rm $CODE_SERVER_LOGFILE
> fi
> if [[ -f $CODE_SERVER_TOKENFILE ]]; then
> rm $CODE_SERVER_TOKENFILE
> fi
>
> touch $CODE_SERVER_TOKENFILE
2025-06-16 14:50:17.002 [info] (ssh_tunnel) stdout: > chmod 600 $CODE_SERVER_TOKENFILE
> CODE_SERVER_CONNECTION_TOKEN="7176e82a-ae42-4877-bd95-5b2b223e0eaf"
> echo $CODE_SERVER_CONNECTION_TOKEN > $CODE_SERVER_TOKENFILE
>
>
<e manually inject it into the extension host later.
>
<s from being used across ALL connections by default
>
> # Backing it up, NOT exporting it
> if [[ -n "$SSH_AUTH_SOCK" ]]; then
> ORIGINAL_SSH_AUTH_SOCK=$SSH_AUTH_SOCK
> unset SSH_AUTH_SOCK
> fi
>
>
<ept-server-license-terms &> $CODE_SERVER_LOGFILE &"
>
>
<cept-server-license-terms &> $CODE_SERVER_LOGFILE &
> echo $! > $CODE_SERVER_PIDFILE
>
> # Restoring the original SSH_AUTH_SOCK
> if [[ -n "$ORIGINAL_SSH_AUTH_SOCK" ]]; then
> export SSH_AUTH_SOCK=$ORIGINAL_SSH_AUTH_SOCK
> unset ORIGINAL_SSH_AUTH_SOCK
> fi
> else
>
<Running processes are $CODE_SERVER_RUNNING_PROCESS"
> fi
Code server script is not running
2025-06-16 14:50:17.003 [info] (ssh_tunnel) stdout: Starting code server script /home/yongshuai_■■■■/.cursor-server/bin/53b99ce608cba35127ae3a050c1738a959750860/bin/cursor-server --start-server --host=127.0.0.1 --port 0 --connection-token-file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a959750860.code.token --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms &> /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a959750860.code.log &
[3] 3450539
2025-06-16 14:50:17.008 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<4801017:~$ if [[ -f $CODE_SERVER_TOKENFILE ]]; then
> CODE_SERVER_CONNECTION_TOKEN="$(cat $CODE_SERVER_TOKENFILE)"
> else
>
<erver token file not found: $CODE_SERVER_TOKENFILE"
> fi
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ for i in {1..20}; do
> if [[ -f $CODE_SERVER_LOGFILE ]]; then
>
<+' | sed 's/Extension host agent listening on //')"
> if [[ -n "$CODE_LISTENING_ON" ]]; then
> break
> fi
> fi
> sleep 0.5
> done
2025-06-16 14:50:17.513 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$
<g-4801017:~$ if [[ -z "$CODE_LISTENING_ON" ]]; then
> echo "Error code server did not start successfully"
> # Reading the logfile, to help with debugging
> cat $CODE_SERVER_LOGFILE || true
>
2025-06-16 14:50:17.514 [info] (ssh_tunnel) stdout:
< 1 "Code server did not start successfully" "false"
> fi
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ print_install_results_and_wait
Steps to Reproduce
Platform: windows
Remote-ssh: 1.0.12
Operating System
Windows 10/11
Current Cursor Version (Menu → About Cursor → Copy)
Version: 1.0.0
Vscode version: 1.99.3