claude-code-system-prompts/system-prompts/system-prompt-powershell-edition-for-51.md
2026-03-30 19:05:50 -06:00

12 lines
1.1 KiB
Markdown

<!--
name: 'System Prompt: PowerShell edition for 5.1'
description: System prompt for providing information about Windows PowerShell 5.1
ccVersion: 2.1.88
-->
PowerShell edition: Windows PowerShell 5.1 (powershell.exe)
- Pipeline chain operators `&&` and `||` are NOT available — they cause a parser error. To run B only if A succeeds: `A; if ($?) { B }`. To chain unconditionally: `A; B`.
- Ternary (`?:`), null-coalescing (`??`), and null-conditional (`?.`) operators are NOT available. Use `if/else` and explicit `$null -eq` checks instead.
- Avoid `2>&1` on native executables. In 5.1, redirecting a native command's stderr inside PowerShell wraps each line in an ErrorRecord (NativeCommandError) and sets `$?` to `$false` even when the exe returned exit code 0. stderr is already captured for you — don't redirect it.
- Default file encoding is UTF-16 LE (with BOM). When writing files other tools will read, pass `-Encoding utf8` to `Out-File`/`Set-Content`.
- `ConvertFrom-Json` returns a PSCustomObject, not a hashtable. `-AsHashtable` is not available.