PowerToys is Microsoft's official "stuff that should be in Windows but isn't" suite — window snapping, color picker, fancy paste, file explorer extensions, and 20+ other utilities. Here's the silent install for fresh-machine setup and team standardisation.
TL;DR
Open Terminal as Administrator:
winget install --id Microsoft.PowerToys -e --silent --accept-package-agreements --accept-source-agreements
PowerToys installs to C:\Program Files\PowerToys. ~30 seconds. Admin required.
What gets installed
| Field | Value |
|---|---|
| Package ID | Microsoft.PowerToys |
| Publisher | Microsoft Corporation |
| Installer type | Burn (WiX bootstrapper) |
| License | MIT |
| Latest version | 0.99.1 |
| Minimum OS | Windows 10 build 17134 |
| Homepage | github.com/microsoft/PowerToys |
| Default install path | C:\Program Files\PowerToys |
PowerToys is open source under MIT licence — refreshingly liberal for a Microsoft product. Everything's on GitHub, including the installer itself.
What you get out of the box
PowerToys is really 20+ apps in one installer:
| Module | What it does |
|---|---|
| FancyZones | Window snapping into custom grid layouts |
| PowerRename | Bulk rename files with regex |
| Keyboard Manager | Remap keys and shortcuts globally |
| PowerToys Run | Spotlight-like launcher (Alt+Space) |
| Color Picker | System-wide color picker (Ctrl+Win+C) |
| Image Resizer | Right-click → resize images |
| PowerToys Awake | Keep PC awake without changing power settings |
| Mouse utilities | Find My Mouse, Mouse Highlighter, Mouse Jump |
| PowerOCR | Extract text from any region (Win+Shift+T) |
| Hosts file editor | Edit /etc/hosts equivalent with UI |
| Registry Preview | Visualise .reg files before applying |
| File Locksmith | Find what's locking a file |
| Crop and Lock | Crop part of a window into its own |
| Advanced Paste | Paste as plain text, Markdown, JSON |
| Quick Accent | Hold key for accents (é, ñ, ü) |
| Workspaces | Save and restore app layouts |
| New+ | Right-click → new file from templates |
| Command Palette | Like VS Code's, for the desktop |
Most of these can be individually enabled/disabled in the PowerToys settings.
Per-user install (no admin)
PowerToys supports per-user install — useful on restricted machines:
winget install --id Microsoft.PowerToys -e --scope user --silent
Installs to %LOCALAPPDATA%\PowerToys. Some advanced features (like the Run launcher's global hotkey) work fine in per-user mode. Things that need a system service (rare) may not.
Pre-configure modules
PowerToys settings live in:
%LOCALAPPDATA%\Microsoft\PowerToys\settings.json
You can drop a pre-configured settings.json before first launch:
$settingsPath = "$env:LOCALAPPDATA\Microsoft\PowerToys\settings.json"
New-Item -ItemType Directory -Path (Split-Path $settingsPath) -Force | Out-Null
@'
{
"general": {
"startup": true,
"enabled": {
"FancyZones": true,
"PowerToys Run": true,
"Keyboard Manager": true,
"ColorPicker": true,
"ImageResizer": true,
"Awake": false,
"Mouse utilities": true,
"AdvancedPaste": true
}
}
}
'@ | Out-File -Encoding utf8 $settingsPath
Tweak enabled.<Module> to opt in/out of modules for your team baseline.
Specify version
winget install --id Microsoft.PowerToys -e --version 0.98.0 --silent
List versions:
winget show --id Microsoft.PowerToys --versions
PowerToys ships frequently (sometimes weekly) and rarely breaks. Pinning is usually unnecessary, but available if needed.
Microsoft Store variant
PowerToys is also on the Microsoft Store:
winget install --id XP89DCGQ3K6VLD -e --source msstore
The Store variant is sandboxed (UWP-wrapped Win32) and auto-updates via Store. Slight feature differences — Store version has stricter system access. For most users the GitHub release (default) is the better choice.
Verify
& "C:\Program Files\PowerToys\PowerToys.exe" -h
Or just check via winget:
winget list --id Microsoft.PowerToys
After install, PowerToys runs in the system tray. Right-click the tray icon → Settings to configure modules.
Upgrade silently
winget upgrade --id Microsoft.PowerToys -e --silent --accept-package-agreements --accept-source-agreements
PowerToys has an in-app updater that's quite good — it shows you what's new before applying. Disable if you want winget-only management:
Settings → General → "Automatically download updates" off.
Uninstall silently
winget uninstall --id Microsoft.PowerToys --silent --disable-interactivity
To also wipe settings and per-module data:
winget uninstall --id Microsoft.PowerToys --silent
Remove-Item "$env:LOCALAPPDATA\Microsoft\PowerToys" -Recurse -Force -ErrorAction SilentlyContinue
In a dev / power-user setup script
# Install PowerToys + supporting dev tools
$apps = @(
"Microsoft.PowerToys",
"Microsoft.WindowsTerminal",
"Microsoft.PowerShell",
"voidtools.Everything",
"AntibodySoftware.WizTree"
)
foreach ($id in $apps) {
winget install --id $id -e --silent `
--accept-package-agreements --accept-source-agreements
}
Walk away. Come back to a workstation that no longer feels stock-Windows.
Common errors
"PowerToys is already installed" — winget detects existing install. Force-overlay:
winget install --id Microsoft.PowerToys -e --silent --force
0x80073D02 — PowerToys is in use — PowerToys runs in the system tray. Exit via tray icon → Quit, then retry:
Get-Process | Where-Object { $_.Name -like "*PowerToys*" } | Stop-Process -Force
winget upgrade --id Microsoft.PowerToys
See package in use fix.
WiX Burn bootstrapper hangs — happens occasionally. Wait 2 minutes, then if still stuck see stuck/hanging fix.
Modules not enabled after install — by default, PowerToys enables most modules but a few are opt-in. Open Settings → General to flip them on.
See also
- PowerToys on winget.tech → — full package details
- Best CLI tools for Windows → — terminal companions
- Fresh Windows 11 setup → — full workflow
- Developer bundle → — full dev stack