mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-08-04 16:38:49 +00:00
fix(exec): default Windows commands to PowerShell and allow shell parameter Single-line commands on Windows were routed through cmd.exe (asyncio.create_subprocess_shell) while multi-line commands used PowerShell. This caused cross-drive cd failures, missing $VAR expansion, and inconsistent behavior depending on whether a command contained a newline. The shell parameter was also rejected on Windows. - Route all Windows commands through PowerShell by default so single-line and multi-line commands share the same shell semantics. - Allow the shell parameter on Windows: accepts powershell, pwsh, or cmd. - cmd.exe remains reachable via shell="cmd" as an explicit escape hatch. - Update tests to cover the new default and shell-parameter paths. Fixes #4544 @