The JS/TS language service immediately crashed 5 times - Linux

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

For days, tsserver is broken once I connect remotely my repo’s location (ssh).
It tries, but it fails displaying this message on popup “The JS/TS language service immediately crashed 5 times. The service will not be restarted.”
I have Cursor installed locally, but I use mostly remotely (ssh) with repos containerized (Docker) .
This was working before once I installed it (version 2.5 - around 3 weeks ago) and now I can’t use Intellisense properly.
Apparently, in a dumb file locally, it’s not an issue. Although a “Loading” is seen when hovering to a variable, for example.

Steps to Reproduce

Machine: Ubuntu 20.04.6 LTS
Remote: Ubuntu 24.04.2 LTS (GNU/Linux 6.8.0-101-generic x86_64)

  1. Open Cursor
  2. Connect by remote ssh
  3. Open a TS file
  4. Wait for the extensions activation

Expected Behavior

Intellisense to be wroking together with navigations of files in remote files.

Operating System

Linux

Version Information

Version: 2.6.20
VSCode Version: 1.105.1
Commit: b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760
Date: 2026-03-17T01:50:02.404Z
Build Type: Stable
Release Track: Early Access
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Linux x64 5.4.0-216-generic

Additional Information

Things I have tried and failled:

  • Cleanups (.cursor-server, bin, local type, remote type)
  • Uninstall + downgrade the version
  • Point tsserver to a different path
  • Upgrade node locally

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, this looks very similar to a known issue where the bundled V8 engine crashes on remote Linux hosts whose CPU doesn’t support Intel PKU Memory Protection Keys. There’s a related report here: Remote SSH: Segmentation fault (SEGV_PKUERR) on CPUs without PKU support.

To confirm, can you run this on the remote machine or inside the Docker container:

grep pku /proc/cpuinfo

If it returns empty, that’s the cause.

Workaround: Add this line to the cursor-server startup script on the remote before the last line ~/.cursor-server/bin/linux-x64/<commit>/bin/cursor-server:

export NODE_OPTIONS="--no-node-snapshot --jitless"

Note: --jitless disables V8 JIT, so things will be a bit slower, but tsserver should stop crashing. Also keep in mind this gets overwritten on every Cursor update, so you’ll need to re-apply it.

Could you also check Output panel > TypeScript for the actual crash signal or error? That would help confirm the exact cause.

The team is aware of this issue. No timeline on a fix yet, but your report helps with prioritization, especially since you’re hitting it through Docker containers, which adds another data point.

Let me know how it goes.

1 Like

Here’s the output.

I hope this can help.

2026-03-19 12:21:05.156 [info] Starting TS Server
2026-03-19 12:21:05.156 [info] Using tsserver from: /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/extensions/node_modules/typescript/lib/tsserver.js
2026-03-19 12:21:05.156 [info] <syntax> Falling back to legacy node.js based file watching because of user settings.
2026-03-19 12:21:05.156 [info] <syntax> Trace directory: /home/sol/.cursor-server/data/logs/20260319T084800/exthost2/vscode.typescript-language-features/tsserver-syntax-log-8C5jFQ
2026-03-19 12:21:05.156 [info] <syntax> Forking...
2026-03-19 12:21:05.156 [info] <syntax> Starting...
2026-03-19 12:21:05.156 [info] <semantic> Falling back to legacy node.js based file watching because of user settings.
2026-03-19 12:21:05.156 [info] <semantic> Trace directory: /home/sol/.cursor-server/data/logs/20260319T084800/exthost2/vscode.typescript-language-features/tsserver-semantic-log-Zixr1e
2026-03-19 12:21:05.156 [info] <semantic> Forking...
2026-03-19 12:21:05.156 [info] <semantic> Starting...
2026-03-19 12:21:05.156 [info] <syntax> Sending request: configure (0). Response expected: no. Current queue length: 0 {
    "hostInfo": "vscode",
    "preferences": {
        "providePrefixAndSuffixTextForRename": true,
        "allowRenameOfImportPath": true,
        "includePackageJsonAutoImports": "auto",
        "excludeLibrarySymbolsInNavTo": true
    },
    "watchOptions": {
        "watchFile": "useFsEvents",
        "watchDirectory": "useFsEvents",
        "fallbackPolling": "dynamicPriorityPolling",
        "synchronousWatchDirectory": true
    }
}
2026-03-19 12:21:05.156 [info] <semantic> Sending request: configure (0). Response expected: no. Current queue length: 0 {
    "hostInfo": "vscode",
    "preferences": {
        "providePrefixAndSuffixTextForRename": true,
        "allowRenameOfImportPath": true,
        "includePackageJsonAutoImports": "auto",
        "excludeLibrarySymbolsInNavTo": true
    },
    "watchOptions": {
        "watchFile": "useFsEvents",
        "watchDirectory": "useFsEvents",
        "fallbackPolling": "dynamicPriorityPolling",
        "synchronousWatchDirectory": true
    }
}
2026-03-19 12:21:05.156 [info] <semantic> Sending request: compilerOptionsForInferredProjects (1). Response expected: no. Current queue length: 0 {
    "options": {
        "module": "ESNext",
        "moduleResolution": "Bundler",
        "target": "ES2022",
        "jsx": "react",
        "allowImportingTsExtensions": true,
        "strictNullChecks": true,
        "strictFunctionTypes": true,
        "sourceMap": true,
        "allowJs": true,
        "allowSyntheticDefaultImports": true,
        "allowNonTsExtensions": true,
        "resolveJsonModule": true
    }
}
2026-03-19 12:21:05.299 [error] TSServer exited. Code: 1. Signal: null

I’ll check your recommendation and let you know.

Thank you for the fast reply.

Thanks for the logs, that helps.

One thing I noticed: the exit code is 1 with Signal: null, which is a bit different from the usual PKU crash pattern. Those usually show SIGTRAP or SIGSEGV. The NODE_OPTIONS workaround might still help, but if it doesn’t, let’s dig deeper.

Unfortunately still the same.

There was no output with this command grep pku /proc/cpuinfo.

Not sure if it helps, but I’m putting the logs as I see in the Output. The “Canceled request” is new now.

2026-03-19 12:51:57.696 [info] Starting TS Server
2026-03-19 12:51:57.696 [info] Using tsserver from: /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/extensions/node_modules/typescript/lib/tsserver.js
2026-03-19 12:51:57.696 [info] <syntax> Falling back to legacy node.js based file watching because of user settings.
2026-03-19 12:51:57.696 [info] <syntax> Trace directory: /home/sol/.cursor-server/data/logs/20260319T084800/exthost3/vscode.typescript-language-features/tsserver-syntax-log-H4F5VG
2026-03-19 12:51:57.696 [info] <syntax> Forking...
2026-03-19 12:51:57.696 [info] <syntax> Starting...
2026-03-19 12:51:57.696 [info] <semantic> Falling back to legacy node.js based file watching because of user settings.
2026-03-19 12:51:57.696 [info] <semantic> Trace directory: /home/sol/.cursor-server/data/logs/20260319T084800/exthost3/vscode.typescript-language-features/tsserver-semantic-log-C1AyQk
2026-03-19 12:51:57.696 [info] <semantic> Forking...
2026-03-19 12:51:57.696 [info] <semantic> Starting...
2026-03-19 12:51:57.696 [info] <syntax> Sending request: configure (0). Response expected: no. Current queue length: 0 {
    "hostInfo": "vscode",
    "preferences": {
        "providePrefixAndSuffixTextForRename": true,
        "allowRenameOfImportPath": true,
        "includePackageJsonAutoImports": "auto",
        "excludeLibrarySymbolsInNavTo": true
    },
    "watchOptions": {
        "watchFile": "useFsEvents",
        "watchDirectory": "useFsEvents",
        "fallbackPolling": "dynamicPriorityPolling",
        "synchronousWatchDirectory": true
    }
}
2026-03-19 12:51:57.696 [info] <semantic> Sending request: configure (0). Response expected: no. Current queue length: 0 {
    "hostInfo": "vscode",
    "preferences": {
        "providePrefixAndSuffixTextForRename": true,
        "allowRenameOfImportPath": true,
        "includePackageJsonAutoImports": "auto",
        "excludeLibrarySymbolsInNavTo": true
    },
    "watchOptions": {
        "watchFile": "useFsEvents",
        "watchDirectory": "useFsEvents",
        "fallbackPolling": "dynamicPriorityPolling",
        "synchronousWatchDirectory": true
    }
}
2026-03-19 12:51:57.696 [info] <semantic> Sending request: compilerOptionsForInferredProjects (1). Response expected: no. Current queue length: 0 {
    "options": {
        "module": "ESNext",
        "moduleResolution": "Bundler",
        "target": "ES2022",
        "jsx": "react",
        "allowImportingTsExtensions": true,
        "strictNullChecks": true,
        "strictFunctionTypes": true,
        "sourceMap": true,
        "allowJs": true,
        "allowSyntheticDefaultImports": true,
        "allowNonTsExtensions": true,
        "resolveJsonModule": true
    }
}
2026-03-19 12:51:57.911 [error] TSServer exited. Code: 1. Signal: null
2026-03-19 12:52:04.079 [info] <syntax> Canceled request with sequence number 6
2026-03-19 12:52:04.080 [info] <syntax> Canceled request with sequence number 7
2026-03-19 12:52:04.081 [info] <syntax> Canceled request with sequence number 8
2026-03-19 12:52:04.081 [info] <syntax> Canceled request with sequence number 9

Also, this is how I’ve added in the script of the commit I saw here /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/extensions/node_modules/typescript/lib/tsserver.js

export NODE_OPTIONS="--no-node-snapshot --jitless"
"$ROOT/node" ${INSPECT:-} "$ROOT/out/server-main.js" "$@"

I see 2 more in ~/.cursor-server/bin/linux-x64. Just fyi.

Inspired by the issue you mentioned Remote SSH: Segmentation fault (SEGV_PKUERR) on CPUs without PKU support

I wen to Output of Remote-SSH and got curious on this error:

2026-03-19 13:51:38.593 [info] Using configured platform linux for remote host 10.10.20.56
2026-03-19 13:51:38.595 [info] Using askpass script: /home/sol-dev/.cursor/extensions/anysphere.remote-ssh-1.0.46/dist/scripts/launchSSHAskpass.sh with javascript file /home/sol-dev/.cursor/extensions/anysphere.remote-ssh-1.0.46/dist/scripts/sshAskClient.js. Askpass handle: /tmp/cursor-ssh-dqCGrR/socket.sock
2026-03-19 13:51:38.624 [info] Launching SSH server via shell with command: cat "/tmp/cursor_remote_install_cb3ca532-4cdf-4fbd-8a93-d3afed948e37.sh" | ssh -T -D 45903 10.10.20.56 bash --login -c bash
2026-03-19 13:51:38.625 [info] Establishing SSH connection: cat "/tmp/cursor_remote_install_cb3ca532-4cdf-4fbd-8a93-d3afed948e37.sh" | ssh -T -D 45903 10.10.20.56 bash --login -c bash
2026-03-19 13:51:38.625 [info] Started installation script. Waiting for it to finish...
2026-03-19 13:51:38.625 [info] Waiting for SSH handshake (timeout: 120s). Install timeout: 60s.
2026-03-19 13:51:39.028 [info] Askpass server received request: POST /
2026-03-19 13:51:39.029 [info] Askpass server received request body: {"request":"[email protected]'s password: "}
2026-03-19 13:51:39.029 [info] Pausing timeout; waiting for askpass response
2026-03-19 13:51:39.029 [info] Received SSH askpass request: [email protected]'s password: 
2026-03-19 13:51:47.188 [info] Resuming timeout; askpass response received
2026-03-19 13:51:48.141 [info] (ssh_tunnel) stdout: Configuring Cursor Server on Remote

2026-03-19 13:51:48.141 [info] SSH connection established after 9515ms (first stdout received)
2026-03-19 13:51:48.153 [info] (ssh_tunnel) stdout: Using TMP_DIR: /run/user/1001

2026-03-19 13:51:48.327 [info] (ssh_tunnel) stdout: Locking /run/user/1001/cursor-remote-lock.100c211680af28d04a9e02450ad31d65

2026-03-19 13:51:48.359 [info] (ssh_tunnel) stdout: Server script already installed in /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/bin/cursor-server

2026-03-19 13:51:48.359 [info] (ssh_tunnel) stdout: Checking node executable

2026-03-19 13:51:48.381 [info] (ssh_tunnel) stdout: v20.18.2

2026-03-19 13:51:48.521 [info] (ssh_tunnel) stdout: Cleaning up old-style stale build multiplex-server

2026-03-19 13:51:48.538 [info] (ssh_tunnel) stdout: Checking for running multiplex server: /home/sol/.cursor-server/bin/multiplex-server/3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8.js

2026-03-19 13:51:48.633 [info] (ssh_tunnel) stdout: Running multiplex server: 

2026-03-19 13:51:48.682 [info] (ssh_tunnel) stdout: Creating multiplex server token file /run/user/1001/cursor-remote-multiplex.token.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8

2026-03-19 13:51:48.696 [info] (ssh_tunnel) stdout: Creating directory for multiplex server: /home/sol/.cursor-server/bin/multiplex-server

2026-03-19 13:51:48.705 [info] (ssh_tunnel) stdout: Writing multiplex server script to /home/sol/.cursor-server/bin/multiplex-server/3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8.js

2026-03-19 13:51:48.716 [info] (ssh_tunnel) stdout: Starting multiplex server: /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/node /home/sol/.cursor-server/bin/multiplex-server/3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8.js d9e34929-cd0b-42f6-8c08-9b5713a5650f 0

2026-03-19 13:51:48.721 [info] (ssh_tunnel) stdout: Multiplex server started with PID 762265 and wrote pid to file /run/user/1001/cursor-remote-multiplex.pid.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8
Reading multiplex server token file /run/user/1001/cursor-remote-multiplex.token.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8

2026-03-19 13:51:48.721 [info] (ssh_tunnel) stdout: Multiplex server token file found

2026-03-19 13:51:48.728 [info] (ssh_tunnel) stdout: Reading multiplex server log file /run/user/1001/cursor-remote-multiplex.log.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8

2026-03-19 13:51:49.254 [info] (ssh_tunnel) stdout: Multiplex server process 762265 exited during startup

2026-03-19 13:51:49.256 [info] (ssh_tunnel) stdout: Error multiplex server did not start successfully. Below are the logs

2026-03-19 13:51:49.262 [info] (ssh_tunnel) stdout: -rw-rw-r-- 1 sol sol 650 Mar 19 12:51 /run/user/1001/cursor-remote-multiplex.log.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8

2026-03-19 13:51:49.266 [info] (ssh_tunnel) stdout: node:internal/modules/package_json_reader:93
        throw error;
        ^

SyntaxError: Error parsing /home/sol/package.json: Unexpected end of JSON input
    at parse (<anonymous>)
    at read (node:internal/modules/package_json_reader:80:16)
    at readPackage (node:internal/modules/package_json_reader:141:10)
    at readPackageScope (node:internal/modules/package_json_reader:164:19)
    at shouldUseESMLoader (node:internal/modules/run_main:80:15)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:160:24)
    at node:internal/main/run_main_module:28:49 {
  path: '/home/sol/package.json'
}

Node.js v20.18.2

2026-03-19 13:51:49.268 [info] (ssh_tunnel) stdout: Checking for code servers

2026-03-19 13:51:49.402 [info] (ssh_tunnel) stdout: Code server script is already running /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/bin/cursor-server. Running processes are  728061 sh /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/bin/cursor-server --start-server --host=127.0.0.1 --port 0 --connection-token-file /run/user/1001/cursor-remote-code.token.100c211680af28d04a9e02450ad31d65 --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms

2026-03-19 13:51:49.409 [info] (ssh_tunnel) stdout: Code server log file is /run/user/1001/cursor-remote-code.log.100c211680af28d04a9e02450ad31d65

2026-03-19 13:51:49.438 [info] (ssh_tunnel) stdout: 65762d4983dee870edd2b085: start

2026-03-19 13:51:49.439 [info] (ssh_tunnel) stdout: exitCode==0==
nodeExecutable==/home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/node==
errorMessage====
isFatalError==false==
multiplexListeningOn====
multiplexConnectionToken==d9e34929-cd0b-42f6-8c08-9b5713a5650f==
codeListeningOn==36279==
codeConnectionToken==9c3f21b3-7bf9-4f5b-9f3f-b34376e394d5==
detectedPlatform==linux==
arch==x64==
SSH_AUTH_SOCK====
DISPLAY====
65762d4983dee870edd2b085: end

2026-03-19 13:51:49.450 [info] Server install command exit code:  0
2026-03-19 13:51:49.450 [error] Invalid multiplexListeningOn: . Continuing without exec server. Docker over SSH will NOT work.
2026-03-19 13:51:49.452 [info] Deleting local script /tmp/cursor_remote_install_cb3ca532-4cdf-4fbd-8a93-d3afed948e37.sh
2026-03-19 13:51:49.454 [info] [forwarding][code] creating new forwarding server
2026-03-19 13:51:49.455 [info] [forwarding][code] server listening on 127.0.0.1:43565
2026-03-19 13:51:49.456 [info] [forwarding][code] Set up server
2026-03-19 13:51:49.456 [info] [remote-ssh] codeListeningOn (remote=127.0.0.1:36279; local=127.0.0.1:43565) codeConnectionToken: 9c3f21b3-7bf9-4f5b-9f3f-b34376e394d5
2026-03-19 13:51:49.457 [info] [gpg-forwarding] GPG agent forwarding is disabled in settings
2026-03-19 13:51:49.474 [info] [remote-ssh] Resolved exec server. Socks port: 45903
2026-03-19 13:51:49.474 [info] Setting up 0 default forwarded ports
2026-03-19 13:51:49.474 [info] [remote-ssh] Resolved authority: {"host":"127.0.0.1","port":43565,"connectionToken":"9c3f21b3-7bf9-4f5b-9f3f-b34376e394d5","extensionHostEnv":{}}. Socks port: 45903
2026-03-19 13:51:49.487 [info] (ssh_tunnel) stdout: Unlocking /run/user/1001/cursor-remote-lock.100c211680af28d04a9e02450ad31d65
 
***********************************************************************
* This terminal is used to establish and maintain the SSH connection. *
* Closing this terminal will terminate the connection and disconnect  *
* Cursor from the remote server.                                      *
***********************************************************************

More spefically here:

SyntaxError: Error parsing /home/sol/package.json: Unexpected end of JSON input
    at parse (<anonymous>)

Going to /home/sol/package.jsonI could see that the file was empty. And quite recent. No clue how this got there.

-rw-rw-r-- 1 sol sol 0 Mar 3 13:10 package.json

I removed this file and boom. Everything worked.

Remote-SSH Output

2026-03-19 14:21:35.963 [info] Resolving ssh remote authority '10.10.20.56' (Unparsed 'ssh-remote+10.10.20.56') (attempt #1)
2026-03-19 14:21:36.023 [info] SSH askpass server listening on /tmp/cursor-ssh-uN3yca/socket.sock
2026-03-19 14:21:36.026 [info] Using configured platform linux for remote host 10.10.20.56
2026-03-19 14:21:36.032 [info] Using askpass script: /home/sol-dev/.cursor/extensions/anysphere.remote-ssh-1.0.46/dist/scripts/launchSSHAskpass.sh with javascript file /home/sol-dev/.cursor/extensions/anysphere.remote-ssh-1.0.46/dist/scripts/sshAskClient.js. Askpass handle: /tmp/cursor-ssh-uN3yca/socket.sock
2026-03-19 14:21:36.057 [info] Launching SSH server via shell with command: cat "/tmp/cursor_remote_install_c1ccc484-75da-45d2-8c5a-24601243ce88.sh" | ssh -T -D 34779 10.10.20.56 bash --login -c bash
2026-03-19 14:21:36.057 [info] Establishing SSH connection: cat "/tmp/cursor_remote_install_c1ccc484-75da-45d2-8c5a-24601243ce88.sh" | ssh -T -D 34779 10.10.20.56 bash --login -c bash
2026-03-19 14:21:36.057 [info] Started installation script. Waiting for it to finish...
2026-03-19 14:21:36.057 [info] Waiting for SSH handshake (timeout: 120s). Install timeout: 60s.
2026-03-19 14:21:36.457 [info] Askpass server received request: POST /
2026-03-19 14:21:36.458 [info] Askpass server received request body: {"request":"[email protected]'s password: "}
2026-03-19 14:21:36.458 [info] Pausing timeout; waiting for askpass response
2026-03-19 14:21:36.458 [info] Received SSH askpass request: [email protected]'s password: 
2026-03-19 14:21:43.502 [info] Resuming timeout; askpass response received
2026-03-19 14:21:44.701 [info] (ssh_tunnel) stdout: Configuring Cursor Server on Remote

2026-03-19 14:21:44.701 [info] SSH connection established after 8641ms (first stdout received)
2026-03-19 14:21:44.718 [info] (ssh_tunnel) stdout: Using TMP_DIR: /run/user/1001

2026-03-19 14:21:44.838 [info] (ssh_tunnel) stdout: Locking /run/user/1001/cursor-remote-lock.100c211680af28d04a9e02450ad31d65

2026-03-19 14:21:44.855 [info] (ssh_tunnel) stdout: Server script already installed in /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/bin/cursor-server
Checking node executable

2026-03-19 14:21:44.866 [info] (ssh_tunnel) stdout: v20.18.2

2026-03-19 14:21:44.934 [info] (ssh_tunnel) stdout: Cleaning up old-style stale build multiplex-server

2026-03-19 14:21:44.944 [info] (ssh_tunnel) stdout: Checking for running multiplex server: /home/sol/.cursor-server/bin/multiplex-server/3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8.js

2026-03-19 14:21:44.998 [info] (ssh_tunnel) stdout: Running multiplex server: 

2026-03-19 14:21:45.021 [info] (ssh_tunnel) stdout: Creating multiplex server token file /run/user/1001/cursor-remote-multiplex.token.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8

2026-03-19 14:21:45.027 [info] (ssh_tunnel) stdout: Creating directory for multiplex server: /home/sol/.cursor-server/bin/multiplex-server

2026-03-19 14:21:45.031 [info] (ssh_tunnel) stdout: Writing multiplex server script to /home/sol/.cursor-server/bin/multiplex-server/3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8.js

2026-03-19 14:21:45.035 [info] (ssh_tunnel) stdout: Starting multiplex server: /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/node /home/sol/.cursor-server/bin/multiplex-server/3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8.js 70d1fed7-1094-4660-b259-33fb90d01821 0

2026-03-19 14:21:45.038 [info] (ssh_tunnel) stdout: Multiplex server started with PID 771529 and wrote pid to file /run/user/1001/cursor-remote-multiplex.pid.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8

2026-03-19 14:21:45.038 [info] (ssh_tunnel) stdout: Reading multiplex server token file /run/user/1001/cursor-remote-multiplex.token.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8

2026-03-19 14:21:45.039 [info] (ssh_tunnel) stdout: Multiplex server token file found

2026-03-19 14:21:45.042 [info] (ssh_tunnel) stdout: Reading multiplex server log file /run/user/1001/cursor-remote-multiplex.log.100c211680af28d04a9e02450ad31d65.3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8

2026-03-19 14:21:45.564 [info] (ssh_tunnel) stdout: Checking for code servers

2026-03-19 14:21:45.683 [info] (ssh_tunnel) stdout: Code server script is already running /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/bin/cursor-server. Running processes are  728061 sh /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/bin/cursor-server --start-server --host=127.0.0.1 --port 0 --connection-token-file /run/user/1001/cursor-remote-code.token.100c211680af28d04a9e02450ad31d65 --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms

2026-03-19 14:21:45.689 [info] (ssh_tunnel) stdout: Code server log file is /run/user/1001/cursor-remote-code.log.100c211680af28d04a9e02450ad31d65

2026-03-19 14:21:45.729 [info] (ssh_tunnel) stdout: a20fea1b9a883fc5ed21c786: start
exitCode==0==

2026-03-19 14:21:45.730 [info] (ssh_tunnel) stdout: nodeExecutable==/home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/node==
errorMessage====
isFatalError==false==

2026-03-19 14:21:45.730 [info] (ssh_tunnel) stdout: multiplexListeningOn==39703==
multiplexConnectionToken==70d1fed7-1094-4660-b259-33fb90d01821==
codeListeningOn==36279==
codeConnectionToken==9c3f21b3-7bf9-4f5b-9f3f-b34376e394d5==
detectedPlatform==linux==
arch==x64==
SSH_AUTH_SOCK====
DISPLAY====
a20fea1b9a883fc5ed21c786: end

2026-03-19 14:21:45.736 [info] Server install command exit code:  0
2026-03-19 14:21:45.737 [info] Deleting local script /tmp/cursor_remote_install_c1ccc484-75da-45d2-8c5a-24601243ce88.sh
2026-03-19 14:21:45.739 [info] [forwarding][code] creating new forwarding server
2026-03-19 14:21:45.743 [info] [forwarding][code] server listening on 127.0.0.1:33875
2026-03-19 14:21:45.745 [info] [forwarding][code] Set up server
2026-03-19 14:21:45.746 [info] [remote-ssh] codeListeningOn (remote=127.0.0.1:36279; local=127.0.0.1:33875) codeConnectionToken: 9c3f21b3-7bf9-4f5b-9f3f-b34376e394d5
2026-03-19 14:21:45.747 [info] [forwarding][multiplex] creating new forwarding server
2026-03-19 14:21:45.750 [info] [forwarding][multiplex] server listening on 127.0.0.1:46545
2026-03-19 14:21:45.750 [info] [forwarding][multiplex] Set up server
2026-03-19 14:21:45.758 [info] [remote-ssh] multiplexListeningOn (remote=[object Object]; local=[object Object]) multiplexConnectionToken: 70d1fed7-1094-4660-b259-33fb90d01821
2026-03-19 14:21:45.759 [info] [remote-ssh] Pinging remote server via 127.0.0.1:46545...
2026-03-19 14:21:45.759 [info] [gpg-forwarding] GPG agent forwarding is disabled in settings
2026-03-19 14:21:45.764 [info] [remote-ssh] Resolved exec server. Socks port: 34779
2026-03-19 14:21:45.764 [info] Setting up 0 default forwarded ports
2026-03-19 14:21:45.764 [info] [remote-ssh] Resolved authority: {"host":"127.0.0.1","port":33875,"connectionToken":"9c3f21b3-7bf9-4f5b-9f3f-b34376e394d5","extensionHostEnv":{}}. Socks port: 34779
2026-03-19 14:21:45.772 [info] (ssh_tunnel) stdout: Unlocking /run/user/1001/cursor-remote-lock.100c211680af28d04a9e02450ad31d65
 
***********************************************************************
* This terminal is used to establish and maintain the SSH connection. *
* Closing this terminal will terminate the connection and disconnect  *
* Cursor from the remote server.                                      *
***********************************************************************

Typescript - Output

2026-03-19 13:21:54.615 [info] Starting TS Server
2026-03-19 13:21:54.615 [info] Using tsserver from: /home/sol/.cursor-server/bin/linux-x64/b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760/extensions/node_modules/typescript/lib/tsserver.js
2026-03-19 13:21:54.615 [info] <syntax> Falling back to legacy node.js based file watching because of user settings.
2026-03-19 13:21:54.615 [info] <syntax> Trace directory: /home/sol/.cursor-server/data/logs/20260319T084800/exthost4/vscode.typescript-language-features/tsserver-syntax-log-TglnSu
2026-03-19 13:21:54.615 [info] <syntax> Forking...
2026-03-19 13:21:54.615 [info] <syntax> Starting...
2026-03-19 13:21:54.615 [info] <semantic> Falling back to legacy node.js based file watching because of user settings.
2026-03-19 13:21:54.615 [info] <semantic> Trace directory: /home/sol/.cursor-server/data/logs/20260319T084800/exthost4/vscode.typescript-language-features/tsserver-semantic-log-FJFU3n
2026-03-19 13:21:54.615 [info] <semantic> Forking...
2026-03-19 13:21:54.615 [info] <semantic> Starting...

Thank you for help. It gave me good insight to go there.

I believe you can check this and turn into a guard implementation for these type of weird cases.

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.