Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

windows-shell

Commands that actually run on Windows.

The model has read a million Linux commands, so it reaches for them, then burns three turns discovering the machine is not Linux.

PS> rm -rf build
rm : A parameter cannot be found that matches parameter name 'rf'.

The Claude Code issue tracker carries 1,654 open issues labelled platform:windows, plus 164 more on platform:wsl (counted 2026-08-04). For scale, platform:linux sits at 1,655 and platform:macos at 3,088. Windows is not a niche, it is roughly the size of Linux.

The silent failures are the expensive ones

An error you can read costs a turn. These cost an hour, because the command appears to succeed.

python3 is often a Microsoft Store stub. On a machine without Python it resolves to an App Execution Alias that prints Python and exits 0 without running anything. Your test suite reports nothing and passes.

python3 -c "import sys; print(sys.version)"

No version printed means you have the stub, and every script you ran through it did nothing.

PATH is stale after an install. winget install succeeds, command -v still fails, and you conclude the install broke. It did not. The running shell keeps the PATH it started with.

Console encoding kills scripts mid-run. The default code page is regional, not UTF-8, so printing an emoji or Hebrew, Arabic or CJK text raises UnicodeEncodeError and the script dies with a traceback about charmap.

PYTHONIOENCODING=utf-8 python script.py

Know which shell you are in

Windows gives you four and they are not compatible.

Shell ls Paths
PowerShell alias for Get-ChildItem, so ls -la fails C:\x
cmd.exe dir only C:\x
Git Bash real ls /c/Users/...
WSL real ls, different filesystem, different software /mnt/c/...
uname -s   # MINGW64_NT = Git Bash, Linux = WSL

A tool installed on Windows is visible to Git Bash and usually invisible to WSL.

The translation table

Unix PowerShell
rm -rf dir Remove-Item dir -Recurse -Force
cat f Get-Content f
grep p f Select-String p f
which x Get-Command x
export A=1 $env:A = '1'
2>/dev/null 2>$null
&& ; (PowerShell 5.1 ships with Windows and has no &&)

Full table, plus path quoting, CRLF, the 260 character limit, case sensitivity and the NUL file trap, in references/traps.md.

Install

/plugin marketplace add finestructure-ai/windows-shell
/plugin install windows-shell@finestructure-windows-shell

Then /reload-plugins.

Who makes this

Built by Fine Structure. MIT, no telemetry.

Every trap in here was hit for real on a Windows machine, including the Python stub that reported three passing test suites that had never run.

Adding the marketplace also gives you ship-live (take a prototype to a verified live URL) and share-live (turn what you built into a link you can send). The full catalog has six more skills beyond these three.

Contributing

If you hit a Windows failure that is not in here, open an issue with the exact error text. The error string is the useful part, because that is what someone will paste into a search later.

License

MIT.

About

Shell commands that actually run on Windows. PowerShell vs Git Bash vs WSL, path quoting, the python3 Store stub that exits 0 without running, encoding crashes, CRLF. A Claude Code skill.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages