After updating from Cursor version 1.0.0 to the latest 1.1.3 version, Pylance could no longer be found in the extension marketplace.
Steps to Reproduce
Just Open Extension Marketplace and search Pylance
(If you are reinstalling the latest version of Cursor, why would I reinstall a new version of Cursor? I want to solve this problem, so I completely deleted the previous software and then downloaded the installation package again)
Could you search for “Python” and install the Anysphere Python extension? This has equivalent functionality as Pylance, which is not supported within Cursor.
I can search, but I can’t search using the keyword “Python”. I can only search using publisher:“Anysphere”.
I’ve encountered many issues after installing this extension. Code that previously used Pylance (with all default rules) now has many warnings. When I set “Analysis: Type Checking Mode” to “off,” these warnings disappear.
What can I do to make Cursor’s Python fully compatible with the previous Pylance mode?
It’s incredibly frustrating if it remains unusable.
I can search, but I can’t search using the keyword “Python”. I can only search using publisher:“Anysphere”.
Strange, it should come up when searching for Python. Let me look into this…
I’ve encountered many issues after installing this extension. Code that previously used Pylance (with all default rules) now has many warnings. When I set “Analysis: Type Checking Mode” to “off,” these warnings disappear.
We set our default type check mode to “Basic”, since in “off” no errors – not even import errors – would appear. This causes confusion as it appears that the extension is not working at all (when in fact it might have been an issue with the virtual environment / interpreter configuration). You are correct, changing the “Type Checking Mode” to off would hide all of these errors.
What can I do to make Cursor’s Python fully compatible with the previous Pylance mode?
When first loading the extension, there should be a prompt to import your pylance settings. You can re-trigger this by opening the command palette (cmd/ctrl-shift-p) and running the command “Cursor Pyright: Import Pylance Settings”. If you can share your .vscode/settings.json file, happy to double check that all settings were copied over.
Thanks, it seemed like BasedPyright’s defaults for the Type Checking Modes differed from the ones in Pylance/Pyright, so I went ahead and manually updated the cursorpyright.analysis.diagnosticSeverityOverrides to my preferences. It’s now working as I expected!
To add to that, the cursor pyright: import pylance settings doesn’t seem to do anything because their defaults are different.
@oronila
Experiencing the same issues - I accidentally uninstalled Pylance extension and now completely blocked from getting it back. The cursor pyright extension drops incessant warnings on a codebase that was fine before (passing our pyright CI checks)
Could you share what you set for cursorpyright.analysis.diagnosticSeverityOverrides to get it to align with what Pylance was doing?
@ravirahman one issue I want to call out - cursor pyright does not seem to respect ignore rules in a pyrightconfig.json, e.g. I add the following rule:
in a pyrightconfig.json file, yet I see Type annotation for attribute system_promptis required because this class is not decorated with@finalbasedpyrightreport(UnannotatedClassAttribute) and Stub file not found for "grpc.aio"basedpyrightreport(MissingTypeStubs)
If you scroll to the bottom you get the default settings and their default respective warnings, so I just set the basedPyright to off and just manually added the ones I wanted based on the defaults I used to have in Pyright/Pylance.
@srao – do you have a pyproject.toml file in your workspace? If so, I’d try adding the settings in there under the [tool.pyright] section; it may be using that and completely ignoring your pyrightconfig.json file.
I reported a similar bug yesterday, I can’t see or install several extensions, for example, Stimulus LSP.
Even using CLI doesn’t work:
❯ cursor --install-extension marcoroth.herb-lsp
Installing extensions...
Extension 'marcoroth.herb-lsp' not found.
Make sure you use the full extension ID, including the publisher, e.g.: anysphere.csharp
Failed Installing Extensions: marcoroth.herb-lsp
Hi all – the marketplace shows extensions that are available on OpenVSX, which may differ from what you see in VSCode. If you’d like to switch the marketplace backend, we added a setting for that in version 1.1.3, though please note that switching the marketplace is not officially supported.
Thank you for this, it will be helpful, but I think that there is something else. The extension I mentioned is indeed available on Open VSX Registry but Cursor still can’t find it, even after the 1.1.3 update
However, it’ll fail to install as the required VSCode API Version (1.100) is too high; Cursor is based on version 1.96.2 (though we’ll have an update soon for version 1.99)
If you previously installed the Pylance extension (such as upgrading normally from a lower version), you will see Pylance in the extension store, but it will no longer work.
Then, if you go to the extension store and install Anysphere’s Python extension, this extension will automatically uninstall the previous Pylance extension after installation.
@ravirahman I want to say that I support Cursor, but Cursor pyright doesn’t work as well as Pylance. Those import directives are completely ineffective. When can Cursor properly address this extension issue, and at least not have so many annoying exception prompts?
@ravirahman
I just installed cursor v1.1.5 on a new Mac i am migrating to, and I cannot find any of the anysphere extensions in the marketplace search (python, pylance, remote ssh etc…)
I agree with this. I’ve tried several type checkers including pyright and mypy. Specially for a django project, what worked just fine with Pylance is now a sea of type errors since pyright isn’t able to infer django types.