SSH connection drops when starting local development server - need reconnection workaround

Describe the Bug

I’m really enjoying development with Cursor! Currently, I’m working on multiple projects in parallel using separate windows - one with a local directory and another connected to a remote server via SSH.
However, I’m experiencing an issue where starting the local development server causes the SSH connection to the remote server to drop. Even after the connection is restored, I often need to reconnect several times before I can resume development on the remote side.
Is there any workaround or solution for this issue? Has anyone else experienced similar problems when running local and remote development environments simultaneously?
Any help would be appreciated!

Steps to Reproduce

  1. Open two Cursor windows
  2. Connect one to remote server via SSH
  3. Start local development server in the other window
  4. SSH connection drops

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

バージョン: 1.1.6
コミット: 1.96.2
日付: 5b19bac7a947f54e4caa3eb7e4c5fbf832389850
Electron: 2025-06-25T02:14:24.784Z
ElectronBuildId: 34.5.1
Chromium: undefined
Node.js: 132.0.6834.210
V8: 20.19.0
OS: 13.2.152.41-electron.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report!
Tagging @ravirahman as our resident expert to help with this.

Hi @reskillin, if you’re using the VSCode Remote SSH extension, could you try using the Anysphere one? Attaching a screenshot:

Thanks for following up!

I was previously using the VSCode Remote SSH extension, but I’ve now switched to the Anysphere one.

However, before making that switch, I realized the issue might have been caused by the following scenario:

I am developing using Nuxt, and I had my development server running on port 3000 for debugging purposes.

When Cursor establishes an SSH connection to a remote server, it creates a local port-forwarding (tunnel). If Cursor’s default port happens to conflict with Nuxt’s default port (3000), each time I start or restart the Nuxt server, that port gets reset. This action interrupts Cursor’s internal SSH tunnel and can cause the SSH connection to disconnect.

:magnifying_glass_tilted_left: Port Conflict Flow:

  1. Cursor establishes an SSH tunnel:
  • e.g., Cursor → localhost:3000 → VPS
  1. Nuxt starts on the local environment:
  • Running npm run dev occupies port 3000 (conflicts if Cursor is already using this port for tunneling)
  1. Cursor’s SSH tunnel breaks:
  • The port reuse interrupts the tunnel → SSH connection is disconnected.

After changing the Nuxt port to 3100, this issue no longer occurred.

Please forgive me if this reasoning is incorrect!

Hi @reskillin – interesting thought. We always pick a remote server port at random, so it would be unlikely that port 3000 conflicts. But, it is possible that an old instance of Nuxt (or something else) is bound to port 3000.

I see.

According to the AI analysis, the error was caused by a conflict on port 3000.

Either way, after changing the Nuxt development server’s port and switching the SSH connection to Anysphere, the issue was resolved. Thank you very much for your support!

I look forward to building many more products with Cursor, and I’ll continue cheering for your development!