// PowerShell Module — Windows 10+ — PS 5.1+

One CLI.
Three managers.
Zero excuses.

pacwin unifies winget, chocolatey, and scoop behind a single pacman-inspired interface. Search, install, remove, and update packages across all three — with one command.

Administrator: Windows PowerShell
PS C:\> pacwin -Ss vlc
[1] VLC media player          VideoLAN.VLC   3.0.23   winget
[2] vlc                        vlc            3.0.23   choco
 
PS C:\> pacwin -S VideoLAN.VLC
[✓] Installed VideoLAN.VLC via winget
 
PS C:\> # Or use verbose commands
PS C:\> pacwin search firefox
3
Package Managers
1
Unified CLI
0
External Deps
PS 5.1
Min Version
Get pacwin running in 30 seconds

No build step. No binary. Just a PowerShell module you can pipe and run.

PS C:\> iwr -useb https://raw.githubusercontent.com/julesklord/pacwin/main/get-pacwin.ps1 | iex
— or via PowerShell Gallery —
PS C:\> Install-Module -Name pacwin -Scope CurrentUser

REQ: PowerShell 5.1+  |  Windows 10+  |  At least one of: winget, choco, scoop in PATH

pacwin speaks two dialects

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
Three tools. Three syntaxes. Three headaches.

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)
Built for real engineers

No-nonsense engineering. No bloat. No compiled binaries. Just PowerShell done right.

Concurrency Engine
RunspacePool on PS 5.1. ForEach-Object -Parallel on PS 7+. Searches all three managers simultaneously — same process, shared memory.
🔒
Security Model
Strict regex input sanitization. Set-StrictMode -Version 2.0. No Invoke-Expression. Ever. Injection-resistant by design.
📦
Zero Dependencies
Single .psm1 module. No compiled binaries, no DLL hell, no NuGet ceremony. Clone and import — done.
🎯
Manager Filtering
Target winget, choco, or scoop individually with -Manager. Mix and match as needed without changing your workflow.
🖥️
Premium TUI
ASCII tables, aligned columns, real-time progress indicators, colored output, and numbered selection — like a package manager should look.
🏴‍☠️
pacman Compat
-S, -Ss, -R, -Q, -Syu — the flags you already know from Arch Linux. Full proxy wrapper so PowerShell doesn't fight you.