Disabling Pyright causes ms-python not to work

Also, please note that this is a problem because Pyright as configured by Cursor does not offer all locations where a variable is used when using command-click on a symbol, for example. Therefore, I was trying to compare its behavior relative to the ms-python plugin.

I could have sworn I got this to work correctly once, but since then I cannot get ms-python to work correctly – the time it worked, I was able to post a separate bug report about the behavior difference (here: Cursor's Pyright/BasedPyright doesn't find all variable references )

Since that one time, I’m unable to get the ms-python extension to work correctly again. Maybe it auto-updated in the meantime?!

Some additional errors which may or may not be relevant:

This one, when disable then re-enable of ms-python:

_pickle.UnpicklingError: invalid load key, ’ '.: Error: _pickle.UnpicklingError: invalid load key, ’ '.
at ae (/Users/athana/.cursor/extensions/ms-python.python-2025.6.1-darwin-arm64/out/client/extension.js:2:1962784)
at oe (/Users/athana/.cursor/extensions/ms-python.python-2025.6.1-darwin-arm64/out/client/extension.js:2:1960744)
at Immediate. (/Users/athana/.cursor/extensions/ms-python.python-2025.6.1-darwin-arm64/out/client/extension.js:2:1957038)
at process.processImmediate (node:internal/timers:485:21) Error: _pickle.UnpicklingError: invalid load key, ’ '.

error @ workbench.desktop.main.js:55
error @ workbench.desktop.main.js:55
undefined ---- ---- ----
error @ workbench.desktop.main.js:14986
undefined ---- ---- ----
handleUnexpectedError @ workbench.desktop.main.js:14983
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:14983
undefined ---- ---- ----
onUnexpectedExternalError @ workbench.desktop.main.js:27
undefined ---- ---- ----
B0 @ workbench.desktop.main.js:22
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:534
undefined ---- ---- ----
await in (anonymous)
xPr @ workbench.desktop.main.js:534
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:534
undefined ---- ---- ----
ky @ workbench.desktop.main.js:50
undefined ---- ---- ----
_requestRange @ workbench.desktop.main.js:534
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:534
undefined ---- ---- ----
_tokenizeViewportNow @ workbench.desktop.main.js:534
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:534
undefined ---- ---- ----
doRun @ workbench.desktop.main.js:50
undefined ---- ---- ----
onTimeout @ workbench.desktop.main.js:50
undefined ---- ---- ----
setTimeout
e.setTimeout @ workbench.desktop.main.js:12478
undefined ---- ---- ----
schedule @ workbench.desktop.main.js:50
undefined ---- ---- ----
a @ workbench.desktop.main.js:534
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:534
undefined ---- ---- ----
_deliver @ workbench.desktop.main.js:49
undefined ---- ---- ----
_deliverQueue @ workbench.desktop.main.js:49
undefined ---- ---- ----
fire @ workbench.desktop.main.js:49
undefined ---- ---- ----
register @ workbench.desktop.main.js:12358
undefined ---- ---- ----
$registerDocumentRangeSemanticTokensProvider @ workbench.desktop.main.js:12358
undefined ---- ---- ----
_doInvokeHandler @ workbench.desktop.main.js:13027
undefined ---- ---- ----
_invokeHandler @ workbench.desktop.main.js:13027
undefined ---- ---- ----
_receiveRequest @ workbench.desktop.main.js:13027
undefined ---- ---- ----
_receiveOneMessage @ workbench.desktop.main.js:13027
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:13027
undefined ---- ---- ----
_deliver @ workbench.desktop.main.js:49
undefined ---- ---- ----
fire @ workbench.desktop.main.js:49
undefined ---- ---- ----
fire @ workbench.desktop.main.js:12360
undefined ---- ---- ----
(anonymous) @ workbench.desktop.main.js:15027
undefined ---- ---- ----

This one shows up at times:

An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing.
mountTo @ workbench.desktop.main.js:15371
_show @ workbench.desktop.main.js:15371
claim @ workbench.desktop.main.js:15371
openMarkdown @ workbench.desktop.main.js:14044
await in openMarkdown
openDetails @ workbench.desktop.main.js:14102
await in openDetails
open @ workbench.desktop.main.js:14044
onNavbarChange @ workbench.desktop.main.js:14044
renderNavbar @ workbench.desktop.main.js:14044
render @ workbench.desktop.main.js:14044
await in render
setInput @ workbench.desktop.main.js:14044
await in setInput
doSetInput @ workbench.desktop.main.js:884
doOpenEditor @ workbench.desktop.main.js:884
openEditor @ workbench.desktop.main.js:884
(anonymous) @ workbench.desktop.main.js:7769
doShowEditor @ workbench.desktop.main.js:7769
doOpenEditor @ workbench.desktop.main.js:7769
openEditor @ workbench.desktop.main.js:7769
openEditor @ workbench.desktop.main.js:12411
open @ workbench.desktop.main.js:14116
openExtension @ workbench.desktop.main.js:13902
(anonymous) @ workbench.desktop.main.js:13902
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
(anonymous) @ workbench.desktop.main.js:47
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
(anonymous) @ workbench.desktop.main.js:47
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
_open @ workbench.desktop.main.js:459
onPointer @ workbench.desktop.main.js:459
(anonymous) @ workbench.desktop.main.js:459
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
(anonymous) @ workbench.desktop.main.js:47
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
onViewPointer @ workbench.desktop.main.js:296
(anonymous) @ workbench.desktop.main.js:47
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
(anonymous) @ workbench.desktop.main.js:47
_deliver @ workbench.desktop.main.js:49
fire @ workbench.desktop.main.js:49
n @ workbench.desktop.main.js:136