wingetsilent-installmicrosoftpowertoysproductivitytutorial
PowerToys

How to Install Microsoft PowerToys Silently with winget

Install Microsoft PowerToys silently with winget — single-line command for unattended deployments, with module configuration and Microsoft Store alternative.

· 4 min read · updated May 29, 2026

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

Continue reading