Pylance not working

Describe the Bug

Pylance crashes at startup making Cursor unusable for Python programming.

Steps to Reproduce

  1. Start cursor.
  2. Observe the crash.
  3. Sigh and sip coffee.

The end of the error log looks like this:

untitled:/Interactive-1.interactive.py
    at _0x6c33a1 (/Users/username/.cursor/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1:920305)
    at _0x965717 (/Users/username/.cursor/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1:924945)
    at _0x263d8 (/Users/username/.cursor/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1:925386)
    at /Users/username/.cursor/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1:851177

2025-08-11 09:31:59.127 [info] [Error - 09:31:59] Server process exited with code 1.
2025-08-11 09:31:59.129 [info] [Error - 09:31:59] Pylance has crashed 5 times in the last 3 minutes. Pylance will not be restarted. Please check [this link](https://aka.ms/AApf7ox) for more details.

Expected Behavior

Cursor works.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.4.3 (Universal)
VSCode Version: 1.99.3
Commit: e50823e9ded15fddfd743c7122b4724130c25df0
Date: 2025-08-08T17:34:53.060Z
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.6.0

Does this stop you from using Cursor

Yes - Cursor is unusable

Hum, after some fiddling around, I realised this was caused by an interactive Python window (i.e. this kind of stuff, Python Interactive window ). Simply closing the window and restarting Cursor did the trick.

Note that I’m using interactive windows because Cursor’s Jupyter Notebooks’ Support is utterly disastrous, at best, as reported in Inconsistent Jupyter notebook handling - #2 by edervieux , Changes at the bottom of a cell in Jupyter Notebooks cannot be seen, and Highlight in scroll bar does not work in notebooks - #2, among other places…

Hi @edervieux, Pylance is not supported in Cursor. Instead, please use the Python extension by Anysphere.

Ok, Pylance was automatically installed from my VSCode setup. I later saw in the extensions that Pylance had messages, and upon clicking on this “messages” link, it brought me to the Anysphere install page.

I uninstalled Pylance and replaced it with Anysphere, everything is working now, thanks!

Perhaps you could add a check upon importing extensions from VSCode at Cursor’s first install, and display warnings for extensions with known incompatibilities with Cursor? (such as Pylance)

Glad to hear it’s working. Thanks for the suggestion; we’ll adjust this in the next update.

I don’t have Python support in a simple Jupyter notebook.

The Python output tab shows:

Editor support is inactive since language server is set to None.

If I set "python.languageServer” to anything other than None (e.g. Jedi, Pylance) the IDE starts throwing warnings.

WTF, cursor. How frustrating is it that not even the minimum Python lang support works despite me spending 30mins fighting configurations.

This is not related to the original bug report, please open a new issue and fill-in a proper bug report with your Cursor version, config file, operating system, installed extensions, and any relevant info. This likely is a bug and needs some investigation (maybe you fiddled with your config file in the first place, breaking Cursor’s default config somehow, idk).

Anyway, this thread is not the place to discuss it. This forum is not your local bar where you can slam the door and rant around anywhere. While your frustration is understandable, you likely entered a non-default case, as JPNB Python lang support seems to work out of the box for most users.

FYI, JPNB support is awful in Cursor, with LLMs being dramatically incompetent at working within one, this is a well-known issue, e.g.:

and typing “Jupyter” in this forum’s search bar can give you an idea how bad this is.

What I would recommend you to do if you intend on using Cursor with JPNB is to use VSCode interactive mode. This lead you to have one window with your code and cells, and another one with the cells’ output. A tad cumbersome, but it’s the best option that we found so far in my team. This also has the advantage that cells’ output is not saved in the original code file, which is thus a pure python script (give or take a few %%), ideal for gitting it.