Terminal crashes with Exit 126 and unsigned script errors on Windows 11 Enterprise
- 主要语言
- 没有语言数据
- 星标
- 2.1k
- 派生
- 153
- PR 合并指标
- 30 天内没有已合并 PR
描述
### Short summary
The GitHub Copilot Desktop integrated terminal fails to initialize in locked-down Windows 11 Enterprise environments. The application attempts to force-inject an unsigned PowerShell script (shellIntegration.ps1), which is blocked by system security policies. Additionally, standard MSYS2/MinGW64 binaries crash with Exit Code 126 because the app passes the project directory as an execution argument rather than a working directory context.
### Affected version or release
v1.1.11
### Installation context
Windows 11 Enterprise; MSYS2 / MinGW64 (standard installation at C:\msys64); local git worktrees
### What happened?
- _Security Error:_ PowerShell blocks `shellIntegration.ps1` because it is not digitally signed, triggering an UnauthorizedAccess exception due to corporate Execution Policies.
- _Execution Crash:_ Pointing the terminal to `bash.exe` or `mingw64.exe` results in a crash with `Exit Code 126 ("Is a directory")`. **The shell attempts to execute the repository folder path passed as a command-line argument.**
- _Architecture Mismatch:_ Attempts to use custom-compiled C# wrappers often result in `OS Error 193 ("%1 is not a valid Win32 application")` if there is any mismatch in the background process host architecture.
### Steps to reproduce
1. Open GitHub Copilot Desktop on **Windows 11 Enterprise.**
2. Navigate to a project folder _(e.g., C:\Users\user\github\)_
3. Set the custom terminal path to `C:\msys64\mingw64.exe`
4. Open the integrated terminal panel.
5. Observe the crash _(Exit 126)_ or the red PowerShell script-signing error text.
### Expected behavior
The terminal should open a clean, interactive MinGW64 shell initialized at the project's root directory without attempting to run the directory as a command or triggering unsigned script blocks.
### Additional context
_!! Resolution / Workaround (The "Stub" Method): !!_
**The issue is fully resolved by utilizing Windows Terminal as a bridge, which handles the initialization sequence outside of Copilot's restrictive process manager.**
1. Create Custom Profile: In Windows Terminal, create a new profile (e.g., named git-bash).
2. Set Command Line: Set the command line to C:\msys64\mingw64.exe
3. Set as Default: In Windows Terminal startup settings, set this new profile as the Default profile.
4. Launch via Copilot: GitHub Copilot Desktop now spawns a "dummy/stub" via Windows Terminal, which successfully opens the native MSYS2 window without crashing.
贡献指南
调研方向
Start by reproducing the failure with C:\msys64\mingw64.exe on Windows 11 Enterprise, then trace the integrated terminal launch path and its handling of shellIntegration.ps1. Done means an interactive MinGW64 shell opens at the project root without treating the directory as a command or triggering unsigned-script blocks.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- powershell, shell
- 领域
- cli, desktop
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100