You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since upgrading from v1.0.47 to v1.0.60, the powershell tool launches pwsh.exe without a console handle attached to the process. This breaks any script that calls Clear-Host/cls or requires MSAL interactive browser authentication.
Evidence from inside a powershell tool call:
# GetConsoleWindow() returns 0 (no console window)Add-Type-TypeDefinition 'using System; using System.Runtime.InteropServices; public class C { [DllImport("kernel32.dll")] public static extern IntPtr GetConsoleWindow(); }'
[C]::GetConsoleWindow() # 0
[System.Console]::WindowWidth # Throws "The handle is invalid"Clear-Host# Throws SetValueInvocationException: "The handle is invalid"# Process has no window
[System.Diagnostics.Process]::GetCurrentProcess().MainWindowHandle # 0
Affected version
GitHub Copilot CLI 1.0.60-0.
Last working version: 1.0.47 (May 13, 2026).
Steps to reproduce the behavior
Launch Copilot CLI v1.0.60 on Windows
Ask it to run a command containing cls or Clear-Host (e.g., "run cls; Write-Host hello")
Observe exit code 1 with error:
SetValueInvocationException:
Line |
3 | $RawUI.CursorPosition = @{X=0;Y=0}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Exception setting "CursorPosition": "The handle is invalid."
Alternatively:
Ask it to run any script that uses MSAL interactive auth (e.g., Azure EV2 deployment cmdlets)
Auth fails with:
Failed to get authentication information : Value cannot be null. (Parameter 'format').
No browser window opens for authentication.
Expected behavior
Shell commands executed via the powershell tool should have a console handle attached, as they did in v1.0.47. Clear-Host should succeed or be a silent no-op, and MSAL should be able to open a browser for interactive authentication.
Additional context
Operating system: Windows 11 (10.0.26100)
CPU architecture: x86_64
Terminal emulator: Windows Terminal
Shell: PowerShell 7.6.2
The pwsh process is launched as: pwsh.exe -NoProfile -NoLogo -NonInteractive -Command "..."
The Copilot shell wrapper's finally block checks $? and calls $host.SetShouldExit(1) on any error, making the cls error fatal
Workaround: use Start-Process pwsh -ArgumentList @("-ExecutionPolicy", "Bypass", "-Command", $cmd) to get a real console window, but this prevents the agent from capturing stdout directly
Describe the bug
Since upgrading from v1.0.47 to v1.0.60, the
powershelltool launchespwsh.exewithout a console handle attached to the process. This breaks any script that callsClear-Host/clsor requires MSAL interactive browser authentication.Evidence from inside a powershell tool call:
Affected version
Last working version: 1.0.47 (May 13, 2026).
Steps to reproduce the behavior
clsorClear-Host(e.g., "runcls; Write-Host hello")Alternatively:
No browser window opens for authentication.
Expected behavior
Shell commands executed via the
powershelltool should have a console handle attached, as they did in v1.0.47.Clear-Hostshould succeed or be a silent no-op, and MSAL should be able to open a browser for interactive authentication.Additional context
pwsh.exe -NoProfile -NoLogo -NonInteractive -Command "..."finallyblock checks$?and calls$host.SetShouldExit(1)on any error, making theclserror fatalStart-Process pwsh -ArgumentList @("-ExecutionPolicy", "Bypass", "-Command", $cmd)to get a real console window, but this prevents the agent from capturing stdout directly