Installer Hashes
| Description | Filename | sha256 hash |
|---|---|---|
| Per user - x64 | PowerToysUserSetup-0.97.0-x64.exe | B8EC0033F9BA6A6D628F2F826E1B00D6B9F9A6869D46D108C5B08B560A46890F |
| Per user - ARM64 | PowerToysUserSetup-0.97.0-arm64.exe | AED4001D4C3E974FAF5D2D46D640547A25BE718D8C5FEB20F4C9A1C1976D837D |
| Machine wide - x64 | PowerToysSetup-0.97.0-x64.exe | 267A7CC18CA33CDE4F79BBCEBF2FEFEC29B6A540BE96218CBCB52064DA283673 |
| Machine wide - ARM64 | PowerToysSetup-0.97.0-arm64.exe | 16C211C3441C1BF22C491457BC6F0F8C6FA796E9DE08EB67C993997CDCDA5FA4 |
Highlights
This release packs in a ton of improvements to Command Palette, introduces a brand-new mouse utility called CursorWrap, expands CLI support across several utilities, and includes plenty of other refinements. Let's dive in!
📋 Command Palette gets a big update
We have been hard at work improving Command Palette, and this release is a big one! It introduces several new features, deeper customization options, and a long list of improvements across the board.
UI customization
There is a brand-new Personalization page that lets you customize the Command Palette UI to your liking. You can now pick a background image and apply color tinting to make Command Palette feel truly personal. To customize this setting, open Command Palette Settings => Personalization => Background
Support for fallback ranking
To give you more control over how search results are ordered, we have added fallback ranking. You can manage fallback rankings from an extension's settings page by clicking on Manage fallback order. Here, you can reorder commands here by dragging them to match your preferences.
Control PowerToys directly from Command Palette
This was a big community request. A new built-in PowerToys extension now lets you control PowerToys features straight from Command Palette. You can toggle Light Switch, switch FancyZones layouts, pick a color, and more, all without leaving Command Palette. Just make sure the utilities you want to use are enabled in PowerToys settings. On top of that, you can now use Peek to preview files and folders within Command Palette!
More Command Palette changes!
- Support for Pinyin! To enable this, make sure your OS language is set to a supported Chinese variant.
- A new built-in Remote Desktop extension to quickly jump to your remote desktops.
- You can now select a custom search engine in the Web Search extension settings.
- Added drag and drop support. File Indexer and Clipboard History can now drag content from Command Palette into other apps, and extension developers can add this capability to their own extensions.
See the list below for all Command Palette changes!
🖱️ Introducing CursorWrap
If you use multiple monitors and are tired of dragging your mouse all the way across the screen, CursorWrap is here to help. When enabled, your cursor wraps around the edges of the active monitor - moving past the top, bottom, left, or right edge instantly brings it back on the opposite side.
⚡ Quick Access flyout gets faster
We've undocked the Quick Access flyout from the main Settings process, which means it now launches faster. You can also choose to disable it entirely or assign a keyboard shortcut to open it. On top of that, the PowerToys system tray icon can now be set to a monochrome style if you prefer a subtler look that fits in with other system icons.
⌨️ More CLI support across PowerToys
In the last release we added CLI support for Peek, and we're expanding that even further. FancyZones, Image Resizer, and File Locksmith can now all be controlled from the command line. Whether you want to switch layouts, resize a batch of images, or unlock files, it's all possible through the CLI. Be sure to check the docs for the full list of supported commands.
🧩 Other notable changes
- Light Switch can now follow Night Light. Just switch the mode in Settings.
- The "What's new" dialog has been refreshed to make it easier to browse, with more detailed release notes going forward.
- Advanced Paste now previews HEX color values and supports image input for AI transformations.
- More improvements and fixes across the board: see the full release notes below.
Release notes
Advanced Paste
- Added hex color previews in clipboard history. Thanks @crramirez!
- Added automatic placeholder endpoints when required fields are left empty.
- Fixed a grammar issue in the AI settings description. Thanks @erik-anderson!
- Fixed loading order so custom action hotkeys are read correctly.
- Updated Advanced Paste descriptions to reflect support for online and local models.
- Fixed clipboard history item selection so it doesn’t duplicate entries.
- Prevented placeholder endpoints from being saved for providers that don’t need them.
- Added image input support for AI transforms and improved clipboard change tracking.
Awake
- Fixed Awake CLI so help, errors, and logs appear correctly in the console. Thanks @daverayment!
Command Palette
- Fixed background image loading in BlurImageControl. Thanks @jiripolasek!
- Fixed SDK packaging paths and added a CI SDK build stage.
- Aligned naming and spell-checking with .NET conventions. Thanks @jiripolasek!
- Added drag-and-drop support for Command Palette items. Thanks @jiripolasek!
- Added a PowerToys Command Palette extension to discover and launch PowerToys utilities.
- Fixed grid view bindings and layout issues. Thanks @jiripolasek!
- Fixed a line-break issue in RDC extension toast messages. Thanks @jiripolasek!
- Made the Settings button text localizable. Thanks @jiripolasek!
- Hid the RDC fallback on the home page and fixed MSTSC working directory handling. Thanks @jiripolasek!
- Optimized result list merging for better performance. Thanks @daverayment!
- Added Small/Medium/Large detail sizes in the extensions API. Thanks @DevLGuilherme!
- Hid fallback commands on the home page when no query is entered. Thanks @jiripolasek!
- Added back navigation support in the Settings window. Thanks @jiripolasek!
- Added a Command Palette solution filter. Thanks @jiripolasek!
- Updated Extension SDK documentation links to Microsoft Learn. Thanks @RubenFricke!
- Added a custom search engine URL setting for Web Search. Thanks @jiripolasek!
- Added pinyin matching for Chinese input. Thanks @frg2089!
- Bumped Command Palette version to 0.8.
- Removed subtitles from built-in top-level commands. Thanks @jiripolasek!
- Refined separator styling in the details pane. Thanks @jiripolasek!
- Added a built-in Remote Desktop extension.
- Added a Peek command to the Indexer extension.
- Improved default browser detection using the Windows Shell API. Thanks @jiripolasek!
- Added Escape key behavior options. Thanks @jiripolasek!
- Added theme and background customization options. Thanks @jiripolasek!
- Improved WinGet package app matching. Thanks @jiripolasek!
- Added an auto-return-home delay setting. Thanks @jiripolasek!
- Added fallback ranking and global results settings.
- Removed the selection indicator in the context menu list. Thanks @jiripolasek!
- Added a developer ribbon with build and log info. Thanks @jiripolasek!
- Updated the “Learn more” string for Command Palette. Thanks @pratnala!
- Added arrow-key navigation for grid views. Thanks @samrueby!
- Fixed version display when running unpackaged. Thanks @jiripolasek!
- Added a native debugging launch profile. Thanks @jiripolasek!
- Reduced redundant property change notifications in the SDK. Thanks @jiripolasek!
- Improved section readability and accessibility. Thanks @jiripolasek!
- Made gallery spacing uniform. Thanks @jiripolasek!
- Added sections and separators for list and grid pages. Thanks @DevLGuilherme!
Crop & Lock
- Added a screenshot mode that freezes a cropped region into its own window. Thanks @fm-sys!
Cursor Wrap
- Improved Cursor Wrap behavior on multi-monitor setups by wrapping only at outer edges. Thanks @mikehall-ms!
FancyZones
- Fixed editor overlay positioning on mixed-DPI multi-monitor setups. Thanks @Memphizzz!
- Added a FancyZones CLI for command-line layout management.
File Locksmith
- Added a File Locksmith CLI for querying, waiting on, or killing file locks.
Find My Mouse
- Improved spotlight edge rendering for clearer Find My Mouse visuals.
- Added telemetry to track how Find My Mouse is triggered.
Image Resizer
- Fixed Fill mode cropping when Shrink Only is enabled. Thanks @daverayment!
- Added a dedicated Image Resizer CLI for scripted resizing.
Light Switch
- Added telemetry events for Light Switch usage and settings changes.
- Added a Follow Night Light mode to sync theme changes with Night Light.
- Clarified LightSwitchService and LightSwitchStateManager roles in docs.
- Added a Quick Access dashboard button to toggle Light Switch quickly.
- Ensured Light Switch honors GPO policy states with clear status messaging.
Mouse Without Borders
- Continued refactoring Mouse Without Borders by splitting the large Common class into focused components. Thanks @mikeclayton!
- Completed the Common class refactor with Core and IPC helper extraction. Thanks @mikeclayton!
Peek
- Hardened Peek previews with strict resource filtering and safer external link warnings.
- Improved SVG preview compatibility by rendering via WebView2.
PowerRename
- Added HEIF/AVIF EXIF metadata extraction and extension status guidance for related previews.
- Fixed undefined behavior in file time handling. Thanks @safocl!
- Optimized memory allocation for depth-based rename processing.
- Fixed Unicode normalization and non‑breaking space matching. Thanks @daverayment!
- Fixed date token replacements followed by capital letters. Thanks @daverayment!
PowerToys Run Plugins
- Fixed a plugin name typo and added Project Launcher to the third‑party list. Thanks @artickc!
- Added the Open With Antigravity plugin to the third‑party list. Thanks @artickc!
PowerToys Run
- Avoided unnecessary hotkey conflict checks when settings change.
- Added QuickAI to the third-party PowerToys Run plugin list. Thanks @ruslanlap!
Quick Accent
- Added localized quotation marks to Quick Accent. Thanks @warquys!
- Fixed duplicate and redundant characters in Quick Accent sets. Thanks @noraa-junker!
- Fixed DPI positioning issues for Quick Accent on mixed-DPI setups. Thanks @noraa-junker!
Settings
- Added a new tray icon that adapts to theme changes. Thanks @HO-COOH!
- Centralized module enable/disable logic for cleaner Settings UI updates.
- Simplified Settings utilities by removing ISettingsUtils/ISettingsPath interfaces. Thanks @noraa-junker!
- Improved Settings UI consistency and disabled-state visuals.
- Added semantic headings to the Dashboard for better accessibility.
- Introduced Quick Access as a standalone host with updated Settings integration.
- Fixed Dashboard toggle flicker and sort menu checkmarks. Thanks @daverayment!
- Added Native AOT-compatible settings serialization.
- Standardized mouse tool description text. Thanks @daverayment!
- Added a global SettingsUtils singleton to reduce repeated initialization.
Development
- Fixed broken devdocs links to the coding style guide. Thanks @RubenFricke!
- Migrated main and installer solutions to .slnx for improved build tooling.
- Restored local installer builds after the WiX v5 upgrade with signing and versioning fixes.
- Added incremental review tooling and structured AI prompts for PR/issue reviews.
- Documented bot commands and cleaned up devdocs structure. Thanks @noraa-junker!
- Updated WinAppSDK pipeline defaults to 1.8 and fixed restore handling.
- Updated the COMMUNITY list to reflect current roles.
- Maintained community member ordering and added a new entry.
- Re-enabled centralized PackageReference for native projects with VS auto-restore.
- Disabled MSBuild caching by default in CI to avoid build instability.
- Updated the latest WinAppSDK daily pipeline for split-dependency restores.
- Suppressed experimental build warnings and aligned WrapPanel stretch handling.
- Reordered the spell-check expect list for consistent automation.
- Migrated native projects to centralized PackageReference management.
- Cleaned spell-check dictionary entries and capitalization.
- Synced commit/PR prompts and wired VS Code to repo prompt files.
- Added VS Code build tasks and improved build script path handling.
- Updated Windows App SDK package versions in central package management.
- Migrated cmdpal extension native project to PackageReference and fixed outputs.
- Reverted PackageReference changes back to packages.config where needed.
- Bypassed a release version check for a failing DLL to keep pipelines green.
- Consolidated Copilot instructions and fixed prompt frontmatter.
- Added signing entries for new Quick Access binaries and CLI version metadata.
- Fixed install scope detection to avoid mixed per-user/per-machine installs.
- Added a Module Loader tool to quickly test PowerToys modules without full builds. Thanks @mikehall-ms!
- Added update telemetry to understand auto-update checks and downloads.
- Updated the telemetry package for new compliance requirements. Thanks @carlos-zamora!
- Documented missing telemetry events in DATA_AND_PRIVACY.
- Fixed UI test pipeline restores for .slnx solutions.
- Added UI automation coverage for Advanced Paste clipboard history flows.
- Stabilized FancyZones UI tests with more reliable selectors and screen recordings.
