Files
Niche-alchemy 6b6193e71c Fix Windows shell runtime and PowerShell UTF-8 handling (#796)
* Fix Windows shell UTF-8 handling

* Fix Windows shell UTF-8 handling

* Fix Windows shell UTF-8 handling

* Fix Windows shell UTF-8 handling

* Fix Windows shell UTF-8 handling

* fix(runtime): gate Windows bash detection through `where bash` so pwsh fallback is reachable

resolveWindowsBash() probed the well-known Git Bash paths with existsSync()
BEFORE consulting `where bash`. On a Windows runner with Git Bash installed,
that shortcut re-detected a real bash even in the 'bash unavailable' scenario,
so resolveWindowsShell() never fell through to pwsh — failing the new
'Windows prefers pwsh over powershell when bash unavailable' test.

Route availability through `where bash` (the surface the test stubs): when it
yields no real candidate, return null so the shell selector reaches pwsh. #826
is preserved — when `where bash` surfaces a Git Bash candidate we still
canonicalize to the absolute Git\\usr\\bin\\bash.exe path (WSL/WindowsApps
skipped) so native git keeps MSYS path conversion.

tests/runtime.test.ts + tests/executor.test.ts green; typecheck clean.

* docs(configs): propagate shell→javascript ctx_execute guidance to 13 adapters

Mirror the claude-code/codex change from this PR to the remaining adapter
instruction docs: the Bash/Shell routing line now recommends
ctx_execute(language: "javascript") (with `language: "shell"` only when code
matches the host shell), and grep/search guidance points at a portable
javascript filter instead of a shell grep. Keeps cross-platform parity now
that shell code is host-shell-specific on Windows.

cursor/context-mode.mdc and pi/AGENTS.md lack the analogous lines (condensed /
stub formats) and were intentionally left untouched. kimi has no doc.

---------

Co-authored-by: Mert Koseoglu <bm.ksglu@gmail.com>
2026-06-21 15:05:56 +03:00
..