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

1.1 KiB

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.