Remote SSH extension host crashes + forkpty failed on Minerva HPC (resource limit issue persists after update)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

After updating to the latest Cursor version (3.0.13), the issue still persists when using Remote SSH on a Minerva HPC cluster.

The behavior is now:

SSH connection succeeds initially
Remote workspace loads

After a few seconds, Cursor shows:

“Remote Extension host terminated unexpectedly 3 times within the last 5 minutes.”

The Cursor Agent does not work:
First shows: “Waiting for extension host to respond”
Then: “Agent Execution Timed Out”
Additionally, a new issue appears:
Terminal cannot be opened

Error:

“The terminal process failed to launch: forkpty failed”

Cursor then attempts to reconnect SSH automatically, but fails and requires re-entering the password.

Important note:

Normal SSH via local terminal works perfectly
Local Cursor projects also work perfectly
The issue only occurs in Cursor Remote SSH

Steps to Reproduce

Steps to Reproduce
Open Cursor IDE (Windows)
Connect to Minerva via Remote SSH
Open a remote project
Wait a few seconds
Observe:
Remote extension host crash
Agent timeout
Terminal fails to launch (forkpty failed)
Cursor attempts reconnection → fails → asks for password again

Expected Behavior

Remote extension host should remain stable
Agent should function normally
Terminal should open correctly
No reconnection loop

Screenshots / Screen Recordings

Operating System

Windows 10/11

Version Information

Version: 3.0.13 (system setup)
VSCode Version: 1.105.1
Commit: 48a15759f53cd5fc9b5c20936ad7d79847d914b0
Date: 2026-04-07T03:05:17.114Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200

Additional Information

(base) [cuiz02@li04e04 drug_efficacy]$ ulimit -a
real-time non-blocking time (microseconds, -R) unlimited
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 2060327
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 16384
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) 120000
max user processes (-u) 256
virtual memory (kbytes, -v) 40971520
file locks (-x) unlimited
(base) [cuiz02@li04e04 drug_efficacy]$ ps aux | grep cursor
kumara97 136083 0.0 0.0 221776 8448 ? Sl Mar16 0:00 /hpc/users/kumara97/.cursor-server/cursor-224838f96445be37e3db643a163a817c15b36060 command-shell --cli-data-dir /hpc/users/kumara97/.cursor-server/cli --parent-process-id 136049 --on-port --on-host=127.0.0.1
cuiz02 1345412 0.0 0.0 1539564 3840 ? Sl Apr02 0:00 /hpc/users/cuiz02/.cursor-server/extensions/openai.chatgpt-26.325.31654-linux-x64/bin/linux-x86_64/codex app-server --analytics-default-enabled
cuiz02 3637961 0.1 0.0 989048 45836 ? Sl 13:04 0:00 /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/node /hpc/users/cuiz02/.cursor-server/bin/multiplex-server/3ce73d09cffc8f33c6d911e972bd0f6dabbe3e26e810844be8060e6b10987db8.js 72be5d85-785b-4e71-8595-07d7d4da4dd2 0
cuiz02 3638026 0.0 0.0 7136 3072 ? S 13:04 0:00 sh /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/bin/cursor-server --start-server --host=127.0.0.1 --port 0 --connection-token-file /run/user/27171/cursor-remote-code.token.23fda6c3d9663f0b0ad46955d7b5d19a --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms
cuiz02 3638043 5.0 0.0 11801432 91264 ? Sl 13:04 0:06 /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/node /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/out/server-main.js --start-server --host=127.0.0.1 --port 0 --connection-token-file /run/user/27171/cursor-remote-code.token.23fda6c3d9663f0b0ad46955d7b5d19a --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms
cuiz02 3638201 0.3 0.0 11922848 55780 ? Sl 13:04 0:00 /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/node /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/out/bootstrap-fork --type=fileWatcher
cuiz02 3642656 1.3 0.0 11601636 64068 ? Sl 13:04 0:01 /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/node /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/out/bootstrap-fork --type=ptyHost --logsPath /hpc/users/cuiz02/.cursor-server/data/logs/20260409T130413
cuiz02 3642847 2.4 0.0 7928 3840 ? S 13:04 0:02 /bin/sh /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/out/vs/base/node/ps.sh
cuiz02 3672682 0.2 0.0 17028 3072 pts/263 Ss 13:06 0:00 /bin/bash --init-file /hpc/users/cuiz02/.cursor-server/bin/linux-x64/48a15759f53cd5fc9b5c20936ad7d79847d914b0/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
cuiz02 3683853 0.0 0.0 6420 2304 pts/263 S+ 13:06 0:00 grep --color=auto cursor
cuiz02 3730161 0.0 0.0 374224 6144 ? Sl Apr06 0:00 /hpc/users/cuiz02/.cursor-server/extensions/openai.chatgpt-26.325.31654-linux-x64/bin/linux-x86_64/codex app-server --analytics-default-enabled
kumara97 4089125 0.0 0.0 178580 15968 ? Ssl Mar16 0:00 /hpc/users/kumara97/.cursor-server/cli/servers/Stable-224838f96445be37e3db643a163a817c15b36060/server/node -p “1ad833e6beaa” + JSON.stringify(process.env) + “1ad833e6beaa”
kumara97 4089492 0.0 0.0 178584 16740 ? Sl Mar16 0:00 /hpc/users/kumara97/.cursor-server/cli/servers/Stable-224838f96445be37e3db643a163a817c15b36060/server/node --dns-result-order=ipv4first /hpc/users/kumara97/.cursor-server/cli/servers/Stable-224838f96445be37e3db643a163a817c15b36060/server/out/bootstrap-fork --type=extensionHost --transformURIs --useHostProxy=false
kumara97 4119499 0.0 0.0 63896 9216 ? Sl Mar16 0:00 /hpc/users/kumara97/.cursor-server/cursor-224838f96445be37e3db643a163a817c15b36060 command-shell --cli-data-dir /hpc/users/kumara97/.cursor-server/cli --parent-process-id 4119476 --on-port --on-host=127.0.0.1
kumara97 4121861 0.0 0.0 221772 10752 ? Sl Mar16 0:00 /hpc/users/kumara97/.cursor-server/cursor-224838f96445be37e3db643a163a817c15b36060 command-shell --cli-data-dir /hpc/users/kumara97/.cursor-server/cli --parent-process-id 4121828 --on-port --on-host=127.0.0.1
kumara97 4135262 0.0 0.0 186780 15972 ? Sl Mar16 0:00 /hpc/users/kumara97/.cursor-server/cli/servers/Stable-224838f96445be37e3db643a163a817c15b36060/server/node --dns-result-order=ipv4first /hpc/users/kumara97/.cursor-server/cli/servers/Stable-224838f96445be37e3db643a163a817c15b36060/server/out/bootstrap-fork --type=extensionHost --transformURIs --useHostProxy=false

Does this stop you from using Cursor

Yes - Cursor is unusable

latest log:

remoteexthost.zip (4.1 KB)

Hey, thanks for the new thread with all the diagnostics. That really helps.

From the logs and ulimit -a, the cause is pretty clear. The main issue is max user processes (-u) 256. That’s critically low for Cursor Remote SSH. The Cursor server on the remote machine starts 10+ processes like server-main, fileWatcher, ptyHost, extensionHost, git, bash, and so on. With a limit of 256, the system just refuses to create new processes.

The logs back this up:

  • Lots of Error: spawn /usr/bin/git EAGAIN which means the OS can’t fork a new process for git
  • Error: spawn /bin/bash EAGAIN same for bash and the terminal, which is why you see forkpty failed
  • WebAssembly.instantiate(): Out of memory likely related to the virtual memory (-v) 40971520 40GB limit, so WebAssembly modules can’t allocate memory

So the extension host crashes, restarts, hits the limit again, and loops like that.

What you need to do:

Ask the Minerva HPC admins to increase max user processes for your account. Ideally set it to 4096 or higher. This is usually configured via /etc/security/limits.conf or via SLURM or LSF policies.

If you can add this yourself in ~/.bashrc:

ulimit -u 4096

It’ll only work if the hard limit allows it, so check ulimit -Hu.

Also, if you can run on a compute node instead of a login node, li04e04 looks like a login node, compute nodes usually have higher limits.

This isn’t a Cursor bug. It’s an HPC environment limit. Cursor just needs more than 256 processes to work properly over Remote SSH.

Let me know if you’re able to raise the limit.

Hi, thanks for the clarification.

I’m now reaching out to the Minerva HPC support team to request an increase in my process limit. I’ll update here once I hear back or if anything changes.

Thanks again for your help!