Cursor + Jupyter is an unstable hot mess

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Cursor + Jupyter is an unstable hot mess that keeps becoming unresponsive for the past few months. The forum is full of such reports with no followups.

Steps to Reproduce

  1. Connect to a working directory on a remote machine (linux 6.8.0-84-generic) with SSH
  2. Open notebook and connect to a Jupyter server running on that machine
  3. Run cells using [shift]+[enter]
  4. Eventually (like < 1 min), cells won’t be responsive, and entire IDE will be unresponsive until [Developer Reload Window] is selected from the command pallet
  5. Go back to step 3 and repeat FOREVER

Expected Behavior

TO SIMPLY WORK
I added the log roll from the Output tab below, suggesting that the IDE is losing connection to the machine. But I have several connections to this machine, and only the Cursor window that I am working with should be failing?
I even have other Cursor windows open to this machine since I work on several projects simultaneously, and those windows maintain their connection in the background while they are processing their code.
Only the window/notebook I am actively working with halts eventually.

Operating System

MacOS
Linux

Version Information

Version: 2.4.21 (Universal)
VSCode Version: 1.105.1
Commit: dc8361355d709f306d5159635a677a571b277bc0
Date: 2026-01-22T16:57:59.675Z (3 days ago)
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Darwin arm64 25.1.0

Additional Information

2026-01-26 09:58:55.821 [info] [command][8ea93c82-4f95-4561-86c1-4b01021065b1] Sending command request: {"command":"echo","args":["1"],"env":{},"token":"4d19adc9-0e0c-4aca-b617-22b8fa94b415","id":"8ea93c82-4f95-4561-86c1-4b01021065b1"}
2026-01-26 09:58:55.893 [info] [forwarding][multiplex][127.0.0.1:62833 -> 127.0.0.1:62771 -> 127.0.0.1:32879][ec74e565-5e80-49eb-9f76-ca6b4c494db6] socks forwarding established
2026-01-26 09:58:55.967 [info] [command][8ea93c82-4f95-4561-86c1-4b01021065b1] Process exited with code 0
2026-01-26 09:58:55.968 [info] [forwarding][multiplex][127.0.0.1:62833 -> 127.0.0.1:62771 -> 127.0.0.1:32879][ec74e565-5e80-49eb-9f76-ca6b4c494db6] socks connection closed
2026-01-26 09:58:55.968 [info] [command][8ea93c82-4f95-4561-86c1-4b01021065b1] Socket close event received
2026-01-26 09:59:55.970 [info] [remote-ssh] Pinging remote server via 127.0.0.1:62833...
2026-01-26 09:59:55.972 [info] [command][307dc8c6-9ba8-414d-b279-35b6a060dfd5] Sending command request: {"command":"echo","args":["1"],"env":{},"token":"4d19adc9-0e0c-4aca-b617-22b8fa94b415","id":"307dc8c6-9ba8-414d-b279-35b6a060dfd5"}
2026-01-26 09:59:55.973 [info] [forwarding][multiplex][127.0.0.1:62833 -> 127.0.0.1:32879][bcf93c78-1573-475b-97d3-01ceace6bf63] received connection request
2026-01-26 10:00:25.974 [error] [forwarding][multiplex][127.0.0.1:62833 -> 127.0.0.1:62771 -> 127.0.0.1:32879][bcf93c78-1573-475b-97d3-01ceace6bf63] error while creating socks forwarding Proxy connection timed out
2026-01-26 10:00:25.974 [info] [command][307dc8c6-9ba8-414d-b279-35b6a060dfd5] Socket end event received
2026-01-26 10:00:25.975 [info] [command][307dc8c6-9ba8-414d-b279-35b6a060dfd5] Socket close event received
2026-01-26 10:00:25.975 [warning] [remote-ssh] Failed to ping remote server via 127.0.0.1:62833: Error: [command][307dc8c6-9ba8-414d-b279-35b6a060dfd5] Socket closed without exit code
2026-01-26 10:01:25.977 [info] [remote-ssh] Pinging remote server via 127.0.0.1:62833...
2026-01-26 10:01:25.980 [info] [command][76f57fb5-64ba-40e0-8c59-7717d830ed87] Sending command request: {"command":"echo","args":["1"],"env":{},"token":"4d19adc9-0e0c-4aca-b617-22b8fa94b415","id":"76f57fb5-64ba-40e0-8c59-7717d830ed87"}
2026-01-26 10:01:25.981 [info] [forwarding][multiplex][127.0.0.1:62833 -> 127.0.0.1:32879][7d16c480-2225-4419-957c-0aa0fcf6801b] received connection request
2026-01-26 10:01:55.985 [error] [forwarding][multiplex][127.0.0.1:62833 -> 127.0.0.1:62771 -> 127.0.0.1:32879][7d16c480-2225-4419-957c-0aa0fcf6801b] error while creating socks forwarding Proxy connection timed out
2026-01-26 10:01:55.991 [info] [command][76f57fb5-64ba-40e0-8c59-7717d830ed87] Socket end event received
2026-01-26 10:01:55.991 [info] [command][76f57fb5-64ba-40e0-8c59-7717d830ed87] Socket close event received
2026-01-26 10:01:55.992 [warning] [remote-ssh] Failed to ping remote server via 127.0.0.1:62833: Error: [command][76f57fb5-64ba-40e0-8c59-7717d830ed87] Socket closed without exit code

Does this stop you from using Cursor

Yes - Cursor is unusable

1 Like

Hey, thanks for the report. Jupyter over SSH freezes after about a minute, with proxy connection timeouts. The logs show the SSH connection stalls, but only in the active window.

Based on the timeouts in the logs (30 seconds per ping), this might be related to the extension host. We should check a few things:

  1. Extension Monitor
    CMD+Shift+P > “Developer: Open Extension Monitor”
    Please take a screenshot when the IDE starts slowing down. Jupyter/Python extensions often cause issues in Remote SSH.

  2. Developer Tools
    When the IDE freezes, open Developer Tools > Console tab. Send what you see there during the freeze.

  3. Quick test without extensions
    Try running this from the terminal:

cursor --disable-extensions

Then connect over SSH and open the same notebook. If it works fine, it’s very likely an extension issue.

Let me know the results, especially the Extension Monitor screenshot and the no-extensions test. If it confirms an extension issue, we can dig deeper or escalate.

  1. Cannot disable extensions as this is required to run a Jupyter Notebook…

  2. There is no slowing down or freezing, simply halting - I can navigate cells, I can right click and select things, I can type into cells, and I can select to run a cell, but there is no response back.

  3. I also noticed that while I am writing/editing code and Cursor is aggressively offering edits, after this the IDE halts.

  4. I don’t have “Developer: Open Extension Monitor”, I have the below options

Got it, thanks for the extra details.

Interesting that the aggressive Tab suggestions happen right before it stops. The logs show a proxy timeout every 30 seconds, which looks like congestion in the SSH tunnel from network traffic.

Try this test:

    1. Turn off Cursor Tab
    • Settings > Tab > Cursor Tab: disable it. Restart Cursor, connect over SSH. If the issue goes away, that confirms Tab suggestions are overloading the SSH connection.
    1. Developer Tools
    • CMD+Shift+P > “Developer: Toggle Developer Tools” > Console tab. Run the cell, wait for it to stop, then share what shows up there.
    1. Extension Monitor (if needed)
    • First enable: Settings > Application > Experimental > Extension Monitor: Enabled. After restarting, you’ll see CMD+Shift+P > “Developer: Open Extension Monitor”.
    1. SSH extension version
    • Check in Extensions. If you’re using Microsoft “Remote - SSH”, switch to “Anysphere Remote SSH”.

Start with step 1 since it’s a quick test. Let me know if turning off Tab helped.

  1. I am using Anysphere for SSH, but I still have two MS extensions for SSH that I don’t believe cause conflict, but if their functionalities is covered by the Anysphere extension then I would be happy to remove them.

  2. Will get back to you regarding all the other points

I think this is the relevant section where the halt begins. Don’t remember what I was doing at this point, just noticed it after some time passed and I wanted to run a cell. It halted long before trying to run the cell.

Let me know if this is sufficient or you need something more.

And again, and this time I noticed it happened exactly when a tab completion popped up, which I clicked away from (meaning, I clicked elsewhere why the completion suggested)

I’m seeing the errors Extension host became UNRESPONSIVE and ConnectError: [invalid_argument]. This looks like your SSH tunnel is getting overloaded, and Tab suggestions seem to trigger it.

Two steps:

  1. Disable Cursor Tab (priority). You already noticed the correlation with tab completions. Go to Settings > Tab > Cursor Tab and disable it. Restart Cursor and work with the notebook. If the issue goes away, that’s the cause.

  2. Remove the MS Remote SSH extensions. You asked about this. Yes, remove them. Anysphere Remote SSH fully replaces them, and having two SSH extensions can conflict.

Let me know what happens after you disable Tab. That’s the main test right now.

I will turn off the setting and give it a try for a week or so to see if things change.

A suggestion regarding the Tab completion when working on a remote machine, but first a question: why does this operation need to utilize the SSH tunnel? Since I am working/editing code on the local machine, and only need to communicate with the remote machine when saving an edited file, shouldn’t Tab completion need no access to the host to make live recommendations?

Seems that this approach would save a lot of back-and-forth between the local and remote machines.

I can confirm that this was caused by Tab completion. Once turned off I haven’t experienced this problem again after a full day of heavy coding.

Given that this is a feature that I would like to keep, it would be nice to know that I can run it when working via SSH. Note that I only noticed this to be a problem when coding in Jupyter notebooks. I also code in Rust and in regular ‘.py’ files, and never noticed this happening there.

Thanks for confirming and for the detailed feedback.

This is a known issue: Cursor Tab completion in Jupyter over SSH can overload the SSH tunnel. The team is aware and is working on improvements in the extension host, which is what shows the “UNRESPONSIVE” logs.

I’ll pass your architecture request to the team, about why Tab completion uses SSH at all if editing is local. That’s a good point, and optimizing this could reduce the tunnel load.

For now, the workaround is to keep Cursor Tab turned off when working with notebooks over SSH. If we see progress on this, I’ll post an update here.

I’ll pass your architecture request to the team, about why Tab completion uses SSH at all if editing is local. That’s a good point, and optimizing this could reduce the tunnel load.

I constantly run into this issue, which makes it quite difficult to actually use Cursor with Jupyter on remote machines (I am using the Anysphere SSH extension).

Any updates on fixes for this issue besides completely disabling Cursor Tab (then why use Cursor with Jupyter)?