Persistent WebSocket close 1006 with Anysphere Remote-SSH 1.0.48 — fresh install, full cleanup did not help

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Persistent “Failed to connect to the remote extension host server (Error: WebSocket close with status code 1006)” combined with “Could not fetch remote environment” on every connection attempt to my Hostinger VPS via SSH.

The status bar shows the SSH connection is established (SSH: 187.124.18.165), but the extension host never comes up. Reload Window does not help — same error reappears immediately. This blocks all remote development: no terminal, no agent, no file editing on the remote side.

The exact same VPS works flawlessly with Microsoft’s official Remote-SSH extension in VS Code, so the issue is isolated to the Anysphere fork.

Steps to Reproduce

  1. Fresh Cursor install on macOS, imported VS Code settings on first launch

  2. Cmd+Shift+P → “Remote-SSH: Connect to Host” → select “vps” from ~/.ssh/config

  3. SSH connection succeeds (status bar shows “SSH: ”, terminal works)

  4. Two error toasts appear within seconds:

    • “Could not fetch remote environment”
    • “Failed to connect to the remote extension host server (Error: WebSocket close with status code 1006)”
  5. Clicking “Reload Window” reproduces the exact same error

  6. Cleanup attempt did not help:

    • pkill -9 -f cursor-server (and vscode-server)
    • rm -rf ~/.cursor-server ~/.vscode-server on the VPS
    • Reconnect from scratch → Cursor reinstalls server cleanly, fresh cursor-server processes appear in ps, WebSocket still fails on the very first handshake

Expected Behavior

After connecting via Remote-SSH (or after cleanup + reconnect), the extension host should come up cleanly and the WebSocket handshake should complete — same behavior as Microsoft’s Remote-SSH extension in VS Code on the identical VPS.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Cursor: latest stable (Pro plan, fresh install today, 2026-04-25)
Anysphere Remote-SSH extension: 1.0.48 (auto-updated to latest today, 2026-04-25 13:01)
macOS: 26.4.1 (MacBook Air)
Remote: Ubuntu 24.04 LTS, Linux 6.8.0-110-generic
VPS: Hostinger KVM2 (8 GB RAM, 100 GB disk, 4.8 GB RAM available, 25 GB disk free, 2% CPU at time of failure)

(I will reply with the exact Cursor version string from About Cursor as a follow-up — currently the SSH window is not stable enough to access the menu reliably.)

Additional Information

Network setup

  • VPS reached via ~/.ssh/config alias “vps” pointing to public IP 187.124.18.165
  • Tailscale tailnet is active on both sides (SSH mode enabled on VPS), but Cursor uses the public IP path per ssh config
  • VPS runs Docker + Traefik (Hostinger’s standard stack)

Why I believe this is an Anysphere-side issue, not VPS-side

  • VS Code Remote-SSH (Microsoft’s official) works perfectly on the same VPS
  • VPS resources are not constrained at failure time (RAM, disk, CPU all healthy)
  • Multiple users report identical symptoms across different VPS providers since mid-2025

Related forum threads with same symptom

  • “Anysphere remote ssh doesn’t work well” (June 2025)
  • “SSH remote development broken on update” (October 2025)
  • “Every time after the upgrade, Cursor Remote-SSH times out” (December 2025)
  • “Problem with Remote SSH” (July 2025)
  • “SSH connection Error” (December 2025) — anysphere.remote-ssh 1.0.36

Logs

I will attach Remote-SSH output logs as a reply once the post is live (View → Output → Remote-SSH).

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey, thanks for the detailed report. This class of bugs with WebSocket close 1006 in Anysphere Remote-SSH is known on our side and is being tracked internally. I can’t share an ETA for a fix yet.

To move forward with your specific case, please send:

  1. Remote-SSH output logs. Go to View > Output > select Remote-SSH in the dropdown, then copy the full log from one connection attempt from start until the error toast. This is the most important part.
  2. Your exact Cursor version. Go to Cursor > About Cursor and include version, commit, and VSCode version.

In parallel, please check a couple things since your stack has items that often conflict with the remote extension host:

  • Disable HTTP/2 in Cursor: press Cmd+,, search for HTTP/2, enable Disable HTTP/2, restart Cursor, then try connecting again. This often fixes WebSocket handshake failures.
  • Tailscale: even if your public IP is set in ~/.ssh/config, Tailscale on the VPS can intercept local sockets used by cursor-server. Stop tailscaled on the VPS for a quick test using sudo systemctl stop tailscaled, then try reconnecting.
  • Traefik: on the VPS, double check cursor-server is listening on its random port correctly and that Traefik is not grabbing it. After the first connection attempt, run ss -tlnp | grep node.

VS Code works because Microsoft Remote-SSH uses a slightly different transport stack. Our fork has a known regression in this area, so the diagnostics above help confirm if your case is the general IDE bug or something environment-specific like Tailscale or Traefik.

Send the logs and results from the HTTP/2 and Tailscale tests and we can dig in further.