Skip to content

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

Open
@adamwagman-customerinsightscdp

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:

yaml
CopyEdit
ssl.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.

Metadata

Metadata

Assignees

Labels

triage-neededNeeds assignment to the proper sub-team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions