Microsoft PowerToys
Installation . Documentation . Blog . Release notes
Microsoft PowerToys is a collection of utilities that help you customize Windows and streamline everyday tasks.
📋 Installation
For detailed installation instructions, visit the installation docs.
Before you begin, make sure your device meets the system requirements:
Note
- Windows 11 or Windows 10 version 2004 (20H1 / build 19041) or newer
- 64-bit processor: x64 or ARM64
- Latest stable version of Microsoft Edge WebView2 Runtime is installed via the bootstrapper during setup
Choose one of the installation methods below:
Download .exe from GitHub
Go to the PowerToys GitHub releases, click Assets to reveal the downloads, and choose the installer that matches your architecture and install scope. For most devices, that's the x64 per-user installer.
| Description | Filename |
|---|---|
| Per user - x64 | PowerToysUserSetup-0.96.0-x64.exe |
| Per user - ARM64 | PowerToysUserSetup-0.96.0-arm64.exe |
| Machine wide - x64 | PowerToysSetup-0.96.0-x64.exe |
| Machine wide - ARM64 | PowerToysSetup-0.96.0-arm64.exe |
WinGet
Download PowerToys from WinGet. Updating PowerToys via winget will respect the current PowerToys installation scope. To install PowerToys, run the following command from the command line / PowerShell:
User scope installer [default]
winget install Microsoft.PowerToys -s winget
Machine-wide scope installer
winget install --scope machine Microsoft.PowerToys -s winget
Other methods
There are community driven install methods such as Chocolatey and Scoop. If these are your preferred install solutions, you can find the install instructions there.
✨ What's new
Version 0.96 (November 2025)
For an in-depth look at the latest changes, visit the Windows Command Line blog.
✨ Highlights
- NEW: The Cursor Wrap utility lets your mouse pointer move seamlessly from one edge of the screen to the opposite edge, supporting up to nine monitors.
- Advanced Paste now supports multiple AI providers instead of being limited to a single OpenAI provider, with a new settings page for easy configuration.
- Command Palette received extensive improvements including file search filters, better clipboard history metadata, context-menu styling, and dozens of bug fixes and enhancements.
- Light Switch improvements include an Off mode, better override detection, immediate schedule updates, and the "New" badge has been removed now that the feature is established.
- PowerRename can now extract and use photo metadata (EXIF, XMP) in renaming patterns like
%Camera,%Lens, and%ExposureTime. - Peek can now be activated from the command line or through a named pipe for integration with scripts and other tools.
- Mouse Without Borders gained horizontal scrolling support for smoother navigation across devices.
- Hosts File Editor now lets you configure backup retention settings.
- Find My Mouse no longer changes the cursor to hourglass or steals focus, and uses a fully transparent overlay.
Advanced Paste
- Advanced Paste now lets you connect to multiple AI providers instead of being limited to a single OpenAI provider. A new settings page makes it easy to add, remove and select AI services when converting clipboard content (e.g., summarizing or translating text). (#42374). Thanks @shuaiyuanxx.
- The input box for Advanced Paste has been visually tweaked so that a subtle underline appears when AI assistance is available, giving clearer feedback during editing. (#43306). Thanks Niels Laute.
Awake
- The Awake countdown timer now stays accurate over long periods and no longer stops after ~50 days. The module uses a single timer to prevent drift and correctly handles long countdowns without prematurely finishing. (#41684). Thanks Dave Rayment.
Command Palette
- The search field in context menus now matches the look of the Command Palette, with a smoke backdrop and better padding. (#42081). Thanks Mike Griese.
- Items such as the calculator or Run dialog appear more quickly because the Command Palette updates "special" fall-back entries separately from other suggestions. (#42289). Thanks @jiripolasek.
- Window Walker now reevaluates processes when a window's backing process changes, so UWP apps no longer show as "not responding" and the correct app type is displayed. (#42317). Thanks @jiripolasek.
- When you navigate away from a page in the Command Palette, its data model is cleaned up and the command bar is reset. This prevents leftover state from interfering with other pages. (#42293). Thanks @jiripolasek.
- Items in the Command Palette's clipboard history now show useful metadata. For example, image items display dimensions, text file entries show file names and sizes, web-link entries include page titles, and regular text entries show word counts. (#42188). Thanks @jiripolasek.
- Internal change: Command Palette is now statically linked to its interop library to prevent crashes in sandboxed environments. (#42355). Thanks @vanzue.
- Fixed a rare crash in the Windows Terminal extension when the
LOCALAPPDATAenvironment variable was missing. The code now retrieves the Local Application Data folder via a reliable API instead. (#42326). Thanks @Copilot. - The Command Palette settings page has been reorganized: activation key options are grouped under an expander and extension settings are framed for better readability. (#42303). Thanks Niels Laute.
- If a window changes its style (for example, becoming a tool window), the Command Palette now refreshes its cached data so the window no longer remains stuck in the taskbar. (#42405). Thanks @jiripolasek.
- Fixed crashes on pages that use filters (e.g., Windows Terminal profiles or Services) when the app is trimmed/AOT compiled by adjusting the binding mechanism. (#42467). Thanks @jiripolasek.
- Corrected a logging bug so that exception messages are properly recorded rather than logged as placeholder text, improving troubleshooting. (#42460). Thanks @jiripolasek.
- Engineering change: resolved numerous build warnings in Command Palette projects; no user-visible impact. (#42584). Thanks @jiripolasek.
- In the system commands list, the
:red_circle:placeholder is replaced with an actual red-circle emoji, ensuring the correct icon shows in the UI. (#42666). Thanks Sam Rueby. - Window Walker now shows the actual icon of each window instead of using the process icon, leading to better recognition of PWAs and Python GUIs. (#42316). Thanks Lee Won Jun.
- Bookmarks created before version 0.95 are now migrated correctly, so custom aliases and hotkeys are preserved after upgrading. (#42814). Thanks @jiripolasek.
- When you modify a command, its alias, hotkey and tags now update in the top-level list so the displayed information stays in sync. (#42806). Thanks @jiripolasek.
- Search results feel more responsive because typed input is now handled via a task queue rather than complex cancellation tokens. (#42356). Thanks @moooyo.
- Press Ctrl + , to open the Command Palette settings from anywhere. (#42787). Thanks @jiripolasek.
- Fixed an issue where the search box might disappear when navigating pages; asynchronous operations are cancelled correctly and the search box defaults to visible. (#42783). Thanks @jiripolasek.
- File search now includes filter buttons to show all items, files only, or folders only. Selecting a filter adds
kind:foldersorkind:not foldersto the query to limit results. (#42141). Thanks Michael Jolley. - When activating
Go homefrom within the Command Palette, the existing search text is automatically selected if the "highlight search on activate" option is enabled, making it easy to start typing a new query. (#42937). Thanks @jiripolasek. - When a command is replaced, its view model continues to listen for property changes, ensuring the UI updates correctly. (#42982). Thanks @jiripolasek.
- CmdPal's search bar now accepts page up/down keyboard strokes. (#41886). Thanks Sam Rueby.
- CmdPal: Add hidden window as owner for tool windows. (#42902). Thanks @jiripolasek.
- CmdPal: Add hints about bookmark placeholders to the Add/Edit Bookmark form. (#42793). Thanks @jiripolasek.
- [CmdPal] Fix filters visibility on non-ListPage. (#42828). Thanks @DevLGuilherme.
- CmdPal: Extension list search. (#41453). Thanks @jiripolasek.
- [CmdPal] Added recenter window support. (#38943). Thanks @shuaiyuanxx.
- Tests: do not use relative drive letter. (#43135). Thanks Dustin L. Howett.
- CmdPal: Add a micro global error handler. (#41392). Thanks @jiripolasek.
- Cmdpal: Bring vcruntime in cmdpal. (#43255). Thanks @vanzue.
- CmdPal: Treat System command provider as special. (#43321). Thanks @jiripolasek.
- [CmdPal] Extension string updates. (#43269). Thanks Niels Laute.
- Add back NuGet config file accidentally deleted by AdvancedPaste PR. (#43312). Thanks leileizhang.
Cursor Wrap
- A new Cursor Wrap module lets your mouse pointer move seamlessly from one edge of the screen to the opposite edge. It supports up to nine monitors and can wrap across the top, bottom, left and right edges. (#41826). Thanks Mike Hall.
Find My Mouse
- Activating Find My Mouse no longer makes the cursor change to the busy (hourglass) icon or steals focus from your active application. (#42795). Thanks @vanzue.
- The spotlight overlay used by Find My Mouse is now fully transparent, preventing it from interfering with the look of your desktop. (#42865). Thanks @vanzue.
Hosts File Editor
- You can now choose how many backups of the hosts file to keep and how long to keep them, instead of relying on hard-coded backup settings. (#37778). Thanks @davidegiacometti.
Image Resizer
- Shared sparse package identity: internal packaging change for improved consistency without user-visible impact.
Light Switch
- The Light Switch shortcut now works reliably and updates its setting correctly in the UI. (#42340). Thanks @shuaiyuanxx.
- The Light Switch utility is marked with a "New" badge in the settings dashboard to draw attention to the feature. (#42351). Thanks @vanzue.
- Light Switch now includes an Off option that disables automatic theme switching while still allowing manual toggles. The module is disabled by default on fresh installs and resets the accent colour when switching back to light mode. It also prevents schedule changes from overriding manual selections and includes several stability fixes. (#42434). Thanks @Jaylyn-Barbee.
- When you change your location or switch between schedules (e.g., from sunset/sunrise to specific times), sunrise and sunset times are recalculated immediately and log messages correctly reference dark mode. (#42774). Thanks @Jaylyn-Barbee.
- Light Switch treats changes made in Windows Settings as manual overrides. When you change the scheduled time, it now takes effect immediately rather than waiting for the next cycle. (#42882). Thanks @Jaylyn-Barbee.
- Manual overrides are now cleared even if the schedule boundary is crossed while you were offline. This prevents the theme from staying incorrectly set. (#43072). Thanks @Jaylyn-Barbee.
- Removed the "new" badge from the Light Switch utility now that the feature is established. (#43300). Thanks @vanzue.
- The Light Switch internals were refactored for easier maintenance and to ensure consistent state across manual overrides and scheduled changes. There are no significant user-visible changes. (#43159). Thanks @Jaylyn-Barbee.
Mouse Pointer Crosshairs
- You can now toggle between the Mouse Pointer Crosshairs and the Gliding Cursor modes. The system remembers the state so that switching back restores the previous behaviour. (#42105). Thanks Mike Hall.
Mouse Without Borders
- When using Mouse Without Borders, horizontal scroll gestures now work across devices (when both machines are running the updated version), enabling smoother navigation for wide documents and spreadsheets. (#42179). Thanks @MasonBergstrom.
Peek
- You can now preview files using the Peek utility from the command line or through a named pipe. This makes it possible to integrate Peek into scripts or other tools. (#38754). Thanks @prochan2.
PowerRename
- PowerRename no longer crashes due to a missing resources file. The build process now generates the required PRI file automatically. (#42300). Thanks leileizhang.
- PowerRename can extract metadata (e.g., EXIF and XMP) from photos. You can use patterns like
%Camera,%Lens,%ExposureTime, and more to rename images based on their properties. (#41728). Thanks @moooyo.
PowerToys Run
- PowerToys Run now suppresses additional Desktop Window Manager and WPF exceptions that previously caused visible error dialogs. The app recovers automatically and logs these errors instead. (#42588). Thanks @jiripolasek.
Text Extractor
- Added automated UI tests for the Text Extractor. These improvements increase reliability but do not change the user experience. (#41947). Thanks leileizhang.
General improvements and infrastructure
- Spelling corrections and shortcut control visual tweaks for high-resolution displays.
- Build and installer updates: migrated to WiX v5, reduced redundant file copies, zipped group policies, updated installer hashes, unified machine/user installer creation.
- Bug report generator fix: corrected malformed XML tags.
- Updated PR prompts and Copilot guidance for contributors.
- Accessibility and UX tweaks: removed title bars from tab navigation, improved dashboard sorting.
- Logging enhancements: correct error codes logged, removed PowerToys installer path from system PATH to avoid conflicts.
🛣️ Roadmap
We are planning exciting new features for upcoming releases, including custom endpoint and local model support for Advanced Paste, continued Command Palette improvements, and more! Stay tuned for v0.97!
❤️ PowerToys Community
The PowerToys team is extremely grateful to have the support of an amazing active community. The work you do is incredibly important. PowerToys wouldn't be nearly what it is today without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thank you and take time to recognize your work. Your contributions and feedback improve PowerToys month after month!
Contributing
This project welcomes contributions of all types. Besides coding features / bug fixes, other ways to assist include spec writing, design, documentation, and finding bugs. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows. We ask that before you start work on a feature that you would like to contribute, please read our Contributor's Guide. We would be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you grant us the rights to use your contribution and that you have permission to do so. For guidance on developing for PowerToys, please read the developer docs for a detailed breakdown. This includes how to setup your computer to compile.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct.
Privacy Statement
The application logs basic diagnostic data (telemetry). For more privacy information and what we collect, see our PowerToys Data and Privacy documentation.
