"Discovering Python Interpreters" spins indefinitely and never resolves

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

The status bar shows “Discovering Python Interpreters” with an infinite spinner that never completes, even after leaving Cursor open for days. This persists across restarts and is not affected by any Python extension settings.

Steps to Reproduce

  1. Have multiple Python sources on the system (pyenv, Homebrew, system Python, legacy Python 2.7 framework)
  2. Open any workspace
  3. Observe “Discovering Python Interpreters” in the status bar — it spins forever

The following settings changes have NO effect:

  • Setting python.defaultInterpreterPath to a valid binary
  • Setting python.locator to “js”
  • Blanking python.condaPath, python.venvPath, python.poetryPath, python.pipenvPath, python.activeStateToolPath, python.pixiToolPath
  • Setting python.venvFolders to []
  • Setting python.interpreter.infoVisibility to “never”

Expected Behavior

With python.defaultInterpreterPath set, Cursor should use that interpreter immediately and not block on discovery. The python.locator setting should be respected and not overridden by experiment flags.

Operating System

MacOS

Version Information

Version: 2.4.31
VSCode Version: 1.105.1
Commit: 3578107fdf149b00059ddad37048220e41681000
Date: 2026-02-08T07:42:24.999Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Darwin arm64 24.6.0

Python extension: ms-python.python v2025.6.1
Jupyter extension: ms-toolsai.jupyter v2025.4.1
Anysphere extensions are all disabled

Additional Information

Python sources on the system:

  • /usr/bin/python3 (system, 3.9.6)
  • pyenv 3.10.13 (active version, 1 installed version, 37 shims)
  • Homebrew Python 3.12.1
  • Legacy Python 2.7 framework at /Library/Frameworks/Python.framework/Versions/2.7/ (from 2015, i386/x86_64)
  • 15 Python 2.7 symlinks in /usr/local/bin/

The pythonLocator cache directory (globalStorage/ms-python.python/pythonLocator/) is always empty — the scan never completes or caches results.

The python.locator setting is tagged as “onExP” / “preview” in the extension’s package.json, suggesting the native pet binary may be force-enabled via an A/B experiment flag, overriding the user’s setting. Suspect the pet binary (python-env-tools/bin/pet) hangs when probing the legacy Python 2.7 i386/x86_64 binaries on an ARM Mac, or gets stuck iterating pyenv shims.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report and the great investigation. This is an issue on the ms-python.python extension side, Cursor doesn’t control interpreter discovery logic.

Two options to try:

  1. Disable the extension’s A/B experiments: "python.experiments.enabled": false
    This should stop it from forcibly overriding the native locator.

  2. Temporarily rename /Library/Frameworks/Python.framework/Versions/2.7/
    The pet binary is likely hanging while probing those i386/x86_64 binaries on ARM.

If neither helps, I’d recommend filing an issue in microsoft/vscode-python since they maintain the pet binary and the locator logic.

Thanks for the quick response Dean! Unfortunately neither of those suggestions worked. I’ve filed something of an issue with the python extension (I can’t submit it properly unfortunately since I’m on Cursor not VSCode and their command palate commands don’t work so I’m logging it at least for now in their Q&A forum).

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.