microsoft / microsoft/vscode-python-debugger

SSL_CERTIFICATE_VERIFY_FAILED in VS Code Python Debugger on macOS, Terminal and PyCharm Work Fine

Offen
#743 6 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@eleanorjboyd arbeitet bereits daran.

Seit 02.7.2025.

triage-needed
Vorherrschende Sprache
TypeScript
Sterne
181
Forks
126
Ø Merge
2 T. 3 Std.
Gemergte PRs (30 T.)
3

Beschreibung

Image Image Image
Bug Description

When running Python unit tests that connect to AWS services inside the VS Code Python debugger, I consistently get:

yamlCopyEditssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
  • This error occurs only inside the VS Code debugger

  • The same code works correctly:

    • In PyCharm's debugger

    • From the terminal using pytest

    • From VS Code's integrated terminal

  • Environment variables such as SSL_CERT_FILE are set properly and visible inside the test

  • ssl.get_default_verify_paths() reflects the correct certificate bundle

  • The problem persists across Python 3.12 and 3.13

  • Downgrading the VS Code Python extension from 2025.8.0 to 2025.6.1 does not resolve the issue


Reproduction Steps
  1. On macOS 15.5 with Homebrew OpenSSL 3.5.0 installed

  2. Create a Python virtual environment using python.org Python 3.12 or 3.13

  3. Install boto3, certifi, and pytest

  4. Set SSL_CERT_FILE to point to certifi's cacert.pem bundle

  5. Run pytest from terminal — works as expected

  6. Run debugger in VS Code (using the Python extension) — SSL error occurs


Environment Details
Component | Version -- | -- macOS | 15.5 (M4 MacBook Air) Python | 3.12 and 3.13 (installed from python.org) VS Code | [Insert your VS Code version, from About menu] VS Code Python Extension | Tested with 2025.8.0 and 2025.6.1 debugpy | VS Code bundled version (exact version unknown) Homebrew OpenSSL | 3.5.0
What Works

✔ PyCharm debugger runs tests without SSL issues
✔ Running tests from terminal (pytest) works
✔ VS Code integrated terminal runs tests without issues


What Fails

❌ Running the same tests inside the VS Code Python debugger produces SSL_CERTIFICATE_VERIFY_FAILED


Additional Notes
  • This appears to be related to environment propagation or timing during debugger launch

  • The debugpy debugger likely initializes Python's ssl context before the SSL_CERT_FILE environment variable is fully applied

  • Recent updates to Homebrew OpenSSL 3.5.0 and/or macOS 15.5 may have exposed this behavior

  • Other developers using a similar setup may face this issue without realizing the debugger is the source


Request

Please investigate whether debugpy or the VS Code Python extension mishandles environment propagation during debugger launch, especially in relation to SSL_CERT_FILE and Python's ssl initialization.


Thank you for your time and assistance.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.