-
Notifications
You must be signed in to change notification settings - Fork 93
Closed
Labels
triage-neededNeeds assignment to the proper sub-teamNeeds assignment to the proper sub-team
Description
Summary
In VS Code terminals on Windows, ms-python.debugpy appends to PATH without a ; separator.
This merges the last existing path entry with the debugpy path and breaks command resolution (e.g. sf not found).
Affected extension versions
ms-python.debugpy:2025.18.0ms-python.python:2026.2.0- VS Code: 1.109.5 (user setup)
- OS: Windows 11
What I observe
sf works in external terminals, but not in VS Code integrated terminal (Git Bash / PowerShell / CMD) for the affected workspace.
Evidence from "Terminal: Show Environment Contributions"
ms-python.debugpy contributes:
PATH=${env:PATH}c:\Users\<user>\.vscode\extensions\ms-python.debugpy-2025.18.0-win32-x64\bundled\scripts\noConfigScripts
There is no delimiter before c:\....
Why this is a bug
On Windows, PATH entries must be separated by ;.
Without it, previous entry + new entry get concatenated.
Example from terminal PATH (broken):
...:/c/Users/<user>/AppData/Roaming/npmc:/Users/<user>/.vscode/extensions/ms-python.debugpy-.../noConfigScripts:...
Expected:
...:/c/Users/<user>/AppData/Roaming/npm:/...
(and debugpy path appended as a separate entry)
Repro steps
- Open a workspace in VS Code with Python Debugger extension enabled.
- Open integrated terminal.
- Run
echo $PATH(Git Bash) orecho %PATH%(CMD). - Observe concatenated segment
...npmc:/Users/...(or equivalent merge). - Commands that rely on PATH entries near the merge may fail (
sfin my case).
Expected behavior
Debugpy should append its no-config scripts folder as a separate PATH entry:
- Windows:
${env:PATH};<debugpy-path> - POSIX shells:
${env:PATH}:<debugpy-path>(if shell-specific handling applies)
Workaround
Manually re-add missing PATH entry in terminal session, or disable/clear debugpy no-config contribution.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
triage-neededNeeds assignment to the proper sub-teamNeeds assignment to the proper sub-team