microsoft / microsoft/vscode-python-debugger

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

Ouverte
#743 6 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@eleanorjboyd y travaille déjà.

Depuis le 2/7/2025.

triage-needed
Langage dominant
TypeScript
Étoiles
181
Forks
126
Merge moyen
2 j 3 h
PR mergées (30 j)
3

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.