PowerShell

Use curl.exe on Windows. Windows PowerShell aliases curl to Invoke-WebRequest, which rejects -fsSL.

curl.exe

Use curl.exe so you get real curl, not the PowerShell alias. Pipe to pwsh (PowerShell 7+) or powershell (Windows PowerShell 5.1) depending on what is installed.

PowerShell
curl.exe -fsSL https://runny.sh/r/{slug} | pwsh

The curl alias

Windows PowerShell 5.1 defines curl as Invoke-WebRequest. PowerShell 7 on Windows often still aliases curl. That is why this fails:

PowerShell
curl -fsSL https://runny.sh/r/{slug} | pwsh

Check with Get-Command curl. If the source is an alias, do not use it for Runny one-liners.

Invoke-WebRequest

If you cannot call curl, download the bytes then pipe them:

PowerShell
$script = (Invoke-WebRequest -Uri "https://runny.sh/r/{slug}" -UseBasicParsing).Content
$script | pwsh -NoProfile -Command -

For a private script add -Headers @{ Authorization = "Bearer TOKEN" }. Do not put the token in the URL if you can avoid it.

Private

PowerShell
curl.exe -fsSL -H "Authorization: Bearer TOKEN" https://runny.sh/r/{slug} | pwsh

Restore revision