Pylance installed in WSL but provides no language features

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Pylance is installed and shown as enabled in WSL, but it does not provide hover, autocomplete, or go-to-definition in Python files.

Current installed extensions in WSL:

  • ms-python.python 2025.6.1
  • ms-python.debugpy 2025.18.0
  • ms-python.vscode-pylance 2025.6.1

Notes:

  • Before reinstalling Windows, the same overall setup worked (a week ago)
  • After reinstalling Windows, Pylance no longer works in Cursor over WSL
  • Cursor logs show Pylance activates and the language server starts, but language features still do not work

Steps to Reproduce

  1. Reinstalled Cursor
  2. Removed ~/.cursor-server completely
  3. Installed ms-python.python
  4. Uninstalled anysphere.cursorpyright
  5. Installed ms-python.vscode-pylance 2025.6.1 manually from VSIX
  6. Reloaded window, restarted language server, cleared Python cache/interpreter state

Expected Behavior

Pylance should provide Python language features.

Screenshots / Screen Recordings

Operating System

Windows 10/11

Version Information

Version: 2.6.22 (user setup)
VSCode Version: 1.105.1
Commit: c6285feaba0ad62603f7c22e72f0a170dc8415a0
Date: 2026-03-27T15:59:31.561Z
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.19045

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey, I see what’s going on. Pylance ms-python.vscode-pylance isn’t supported in Cursor due to Microsoft licensing restrictions. Instead, Cursor uses its own extension anysphere.cursorpyright, based on basedpyright GitHub - DetachHead/basedpyright: pyright fork with various type checking improvements, improved vscode support and pylance features built into the language server · GitHub. It provides similar features like hover, autocomplete, go-to-definition, and so on.

Most likely, before you reinstalled Windows you were using cursorpyright, not Pylance.

What to do:

  • Manually remove Pylance ms-python.vscode-pylance
  • Install anysphere.cursorpyright from the Cursor marketplace, search for Python and look for publisher Anysphere
  • Reload the window

More details are in the official announcement about in-house extensions New In-house Extensions (C++, C#, SSH, DevContainers, WSL, Python).

Let me know if something still isn’t working in WSL after that.

Hi! Thanks for the quick reply!

As for Pylance in Cursor. No, I’m 100% sure I’ve been using Pylance all this time, even with the latest versions of Cursor, until I reinstalled Windows yesterday.

I’m absolutely certain of this because my colleague has been complaining for several months that Pylance isn’t working in his Cursor on macOS, and I know what it looks like.

I’m so sure because there were no warnings on my machine, as shown in the screenshot below. My colleague was the one who saw this warning, but now I’m seeing it too. And I definitely didn’t have it before I reinstalled Windows.

And I’m sure I didn’t use Cursor Pyright, because after installing it, the value of the python.languageServer setting automatically changes to `None` (see the screenshot below). But in my case, before I reinstalled Windows, the python.languageServer value remained “Pylance” and worked without any issues.

And I’m familiar with the Basedpyright project. Around this summer, I compared it to Pylance. They had good marketing, but it seems the project had—and perhaps still has—a lot of issues (on GitHub), so I decided to stick with Pylance until astral-sh/ty becomes stable.

In short: I don’t know what to do next. I see three less-than-ideal options:

  1. Try to get Pylance to work. But I might not be able to do it. I’ve already spent several hours on it.
  2. Switch to Basedpyright (Cursor Pyright). But it’s not a 100% replacement. It has different settings. It will take time to learn and configure. But that’s almost pointless, because we’ll most likely switch to astral-sh/ty later.
  3. Switch to astral-sh/ty right now. That’s not a great option either, because it’s not stable at the moment.

From the screenshots, this looks like standard cursorpyright behavior. During install it sets python.languageServer to None.

You might have had an older Cursor setup before, where Pylance wasn’t blocked yet, or it somehow carried over between updates. On a clean Cursor install now, Pylance is blocked at the extension gallery level due to Microsoft licensing limits, so even a manual VSIX install won’t work properly.

I get that this is awkward, especially if cursorpyright isn’t as good as Pylance for you. Here are a couple things you can try:

  1. Configure cursorpyright. It has equivalents for most Pylance settings. The main config differences are covered in the basedpyright docs: https://docs.basedpyright.com

  2. Try Astral’s ty. They already have a VS Code extension you can test, but yeah, it’s not fully stable yet.

If you hit a specific cursorpyright issue like a missing feature or wrong behavior, tell me what you’re seeing and we can dig into it.

Thank you for your support!

1 Like