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:
Try to get Pylance to work. But I might not be able to do it. I’ve already spent several hours on it.
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.
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:
Configure cursorpyright. It has equivalents for most Pylance settings. The main config differences are covered in the basedpyright docs: https://docs.basedpyright.com
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.