← ClaudeAtlas

windows-shelllisted

Write shell commands that actually run on Windows. Use whenever the working machine is Windows and a command, script, path, or setup step is involved, and whenever a command has already failed with "not recognized", "cannot find path", "No such file or directory", a python3 or NUL problem, or CRLF warnings. Covers PowerShell, cmd, Git Bash, WSL, and the traps that differ between them.
finestructure-ai/humanizer-multilingual · ★ 0 · AI & Automation · score 72
Install: claude install-skill finestructure-ai/humanizer-multilingual
# Windows shell The failure is not that Windows is hard. It is that the model has read a million Linux commands and reaches for them, then burns three turns discovering the machine is not Linux. This is the second largest problem area in the Claude Code issue tracker. The fixes below are specific and each one is a real, repeated failure. ## First: know which shell you are in Windows gives you at least four, and they are not compatible. | Shell | `ls` | Paths | Notes | | --- | --- | --- | --- | | PowerShell | alias for `Get-ChildItem` | `C:\x` or `C:/x` | the default in most tools | | cmd.exe | `dir` only | `C:\x` | almost never what you want | | Git Bash (MSYS2) | real `ls` | `/c/Users/...` | POSIX tools, but not Linux | | WSL | real `ls` | `/mnt/c/...` | a different filesystem, different installed software | **Check before guessing:** ```powershell $PSVersionTable.PSVersion ``` ```bash uname -s ``` If `uname` prints `MINGW64_NT` you are in Git Bash. If it prints `Linux` inside Windows you are in WSL, and software installed on Windows is not on your PATH. Read `references/traps.md` before writing anything non-trivial. ## The rules that prevent most failures **1. Never write `rm -rf` on a Windows path.** In PowerShell it is not a command. In Git Bash it works and will happily delete outside the project. Use `Remove-Item -Recurse -Force` in PowerShell, and in Git Bash prefer deleting specific paths. **2. `/dev/null` does not exist in PowerShell.** Use `$null`: ```