vscode-powershell
vscode-powershell copied to clipboard
Running script with F5 changes directory when script is on a drive that's different from launch.json cwd value and powershell.debugging.createTemporaryIntegratedConsole is enabled
Prerequisites
- [x] I have written a descriptive issue title.
- [x] I have searched all open and closed issues to ensure it has not already been reported.
- [x] I have read the troubleshooting guide.
- [x] I am sure this issue is with the extension itself and does not reproduce in a standalone PowerShell instance.
- [x] I have verified that I am using the latest version of Visual Studio Code and the PowerShell extension.
- [x] If this is a security issue, I have read the security issue reporting guidance.
Summary
Scenario:
powershell.debugging.createTemporaryIntegratedConsoleis enabledsettings.jsonorlaunch.jsoncontainscwdvalue of"C:\\"- Editor:
D:\Scripts\MyScript.ps1
<BR></BR>
Integrated Terminal current directories:
Before running D:\Scripts\MyScript.ps1 with F5:
| Drive | Current Directory | Is $PWD? |
|---|---|---|
C: |
C:\Users\TestUser\Desktop\ |
NO |
D: |
D:\ |
YES |
After running D:\Scripts\MyScript.ps1 with F5:
| Drive | Current Directory | Is $PWD? |
|---|---|---|
C: |
C:\ |
YES |
D: |
D:\Scripts\ <--- bug (should remain D:\) |
NO |
PowerShell Version
Name Value
---- -----
PSVersion 7.5.0
PSEdition Core
GitCommitId 7.5.0
OS Microsoft Windows 10.0.19045
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Name : Visual Studio Code Host
Version : 2025.0.0
InstanceId : e0913dbc-6176-4e70-9bd3-1d5b63449f20
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-US
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
Visual Studio Code Version
1.96.4
cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba
x64
Extension Version
[email protected]
Steps to Reproduce
- Enable
powershell.debugging.createTemporaryIntegratedConsole - Edit/Run a .ps1 script (F5) that's stored on a drive that's different from the
cwdvalue insettings.jsonorlaunch.json - When script is finished running, inspect the current directory of the drive on which the .ps1 script is stored
- That drive's current directory will be set to
$PSScriptRootwhen it shouldn't be changed at all
- That drive's current directory will be set to
Expected behavior:
- The cd for the drive on which the .ps1 script is stored should not be changed
Actual behavior:
- The cd for the drive on which the .ps1 script is stored gets changed to:
$PSScriptRoot
Visuals
No response
Logs
No response
We've found some similar issues:
- #4082 , similarity score: 83%
If any of the above are duplicates, please consider closing this issue out and adding additional context in the original issue.
Note: You can give me feedback by 👍 or 👎 this comment.
Huh, that's a strange one. Thanks for the bug report, I set this as up for grabs and would be happy to shepherd in a fix.