pacwin unifies winget, chocolatey, and scoop behind a single pacman-inspired interface. Search, install, remove, and update packages across all three — with one command.
No build step. No binary. Just a PowerShell module you can pipe and run.
iwr -useb
https://raw.githubusercontent.com/julesklord/pacwin/main/get-pacwin.ps1
| iex
Install-Module -Name pacwin -Scope
CurrentUser
REQ: PowerShell 5.1+ | Windows 10+ | At least one of: winget, choco, scoop in PATH
pacman-style flags for muscle memory. Verbose commands for readability. Both work.
| Task | Verbose | pacman-style |
|---|---|---|
| Search packages | pacwin search <query> | pacwin -Ss <query> |
| Install a package | pacwin install <id> | pacwin -S <id> |
| Uninstall a package | pacwin uninstall <id> | pacwin -R <id> |
| Update all packages | pacwin update | pacwin -Syu |
| List installed | pacwin list | pacwin -Q |
| Check outdated | pacwin outdated | pacwin -Qu |
| Pin / Hold version | pacwin hold <id> | pacwin pin <id> |
| Flag | Effect | Example |
|---|---|---|
| -Manager | Target a specific manager | pacwin search git -Manager winget |
| -Limit | Max results per manager (default 40) | pacwin search node -Limit 10 |
| -NoHeader | Skip the header banner | pacwin list -NoHeader |
Without pacwin, every package manager speaks a different dialect.
| Operation | winget | choco | scoop | pacwin |
|---|---|---|---|---|
| Search | winget search | choco search | scoop search | pacwin -Ss |
| Install | winget install | choco install | scoop install | pacwin -S |
| Error handling | HRESULT codes | Exit code 1 for everything | Silent failures | Normalized output |
| Parallel search | No | No | No | Yes (RunspacePool) |
No-nonsense engineering. No bloat. No compiled binaries. Just PowerShell done right.