Microsoft PowerToys is a set of utilities designed to enhance productivity on Windows. It includes tools like FancyZones for custom window layouts, PowerRename for batch renaming files, Command Palette for quick app launching and file search, and other utilities like Color Picker, File Explorer add-ons, and Mouse Utilities.

Is PowerToys safe to use and does it slow down my PC?

PowerToys is completely safe and it's an official Microsoft open-source project, with frequent updates and visible development. It generally has a light impact on system resources. Users report no noticeable slowdown, and you can disable individual tools if you don't use them.

How do I set up FancyZones for custom window layouts?

To use FancyZones, launch the PowerToys Settings app, go to the FancyZones section, and click "Launch layout editor." You can create a custom layout by splitting your screen into zones, and then assign windows to those zones using Shift + drag. It makes multitasking more efficient, especially on large or ultrawide monitors.

Can I use PowerToys on Windows 11?

Yes, PowerToys is fully compatible with Windows 11. In fact, it takes advantage of some of Windows 11's newer UI features and integrates smoothly into the operating system. Many users treat PowerToys as an optional "advanced mode" layered on top of Windows rather than a replacement for built-in features.

Which PowerToys tools are actually worth using daily?

The most commonly relied-on tools tend to be FancyZones for custom window layouts, PowerRename for batch file renaming, the Keyboard Manager for remapping keys and shortcuts, and the Command Palette (which replaced PowerToys Run) for quickly launching apps, files, and commands. Others are more niche, but useful once you discover a specific need.

Current utilities

  • Advanced Paste
  • Always on Top
  • PowerToys Awake
  • Color Picker
  • Command Not Found
  • Command Palette
  • Crop And Lock
  • Environment Variables
  • FancyZones
  • File Explorer Add-ons
  • File Locksmith
  • Hosts File Editor
  • Image Resizer
  • Keyboard Manager
  • Mouse utilities
  • Mouse Without Borders
  • New+
  • Paste as Plain Text
  • Peek
  • PowerRename
  • PowerToys Run
  • Quick Accent
  • Registry Preview
  • Screen Ruler
  • Shortcut Guide
  • Text Extractor
  • Workspaces
  • ZoomIt

What's New

Highlights

This patch release fixes several important stability and behavior issues identified in v0.99.0 based on incoming reports. Check out the v0.99.0 notes for the full list of changes.

Command Palette

  • Fixed a crash on startup when loading settings caused by null DockSettings deserialized from settings.json in #47296
  • Fixed a bug where dock label settings were not persisted across sessions in #47317

Grab And Move

  • Fixed a bug where releasing the absorbed Alt key while pressing another key prevented it from propagating correctly to other apps in #47261
  • Fixed a bug where there Start menu and other OS surfaces would be draggable in #47302
  • Fixed a bug where the G key would be blocked, or Game Bar would be activated, when the modifier was set to Win key in #47326

Power Display

  • Added additional diagnostic logging to help investigate display detection and control issues in #47270
  • Defaulted the Input Source, Color Temperature, and Power State controls to off and added a confirmation dialog before applying these potentially disruptive changes in #47303
  • Used the localized "Built-in Display" name for the internal display instead of a hard-coded string in #47321

Previous Release Notes:

Highlights

  • PowerToys 0.99 introduces Power Display for controlling your monitors from the system tray, Grab And Move for quickly moving and resizing windows, and a wave of improvements to Command Palette and the Dock, along with updates across the utility suite.

Introducing Grab And Move - Linux-style window manipulation (Preview)

This release introduces Grab And Move, a new utility that lets you drag and resize windows without having to target the title bar or window edges. Hold Alt + Left Click anywhere on a window to drag it, or Alt + Right Click to resize it from wherever your cursor is. For users who already use Alt as a system modifier, you can now choose to use the Win key instead.

Grab And Move is ideal for large monitors or windows that have moved off-screen, and it integrates with the existing Settings experience including GPO policy support, an OOBE page, and a modifier-agnostic configuration UI.

Meet Power Display: control your monitors right from the system tray

Meet Power Display, a new utility that lets you control your hardware monitors right from the system tray. Once enabled, you can open the flyout from the tray icon or a configurable shortcut to quickly access your connected monitors. Power Display automatically detects your displays and, if supported, lets you adjust settings like volume, brightness, contrast, and color profile. No more reaching for those hard to find buttons on the back of your screen!

You can also create profiles to quickly switch between different setups with a single click. Profiles can be configured in Settings and will appear directly in the flyout for easy access.

Lastly, Power Display profiles can now be automatically switched with Light Switch. In the Light Switch settings, you can select a profile as an action, making it easy to adjust your monitor settings based on the current light or dark theme

Command Palette: Compact Dock, Calculator history, and reliability

This release brings a large set of fixes and improvements to Command Palette and the Dock. Alongside a wide range of performance and stability improvements, this release also introduces new capabilities, including support for plain text and image viewer content types for extensions, making it possible to display raw text and zoomable images directly in the content pane, as well as a persistent calculator history with options to save, reuse, delete, and clear entries, plus a configurable primary action and the ability to replace the query on enter.

We've also made several improvements to the Dock experience. You can now choose to keep the Dock always on top of other windows. When the Dock is positioned at the top or bottom of the screen, a new Compact mode is available, offering a more condensed layout that hides the subtitle!

Pinning has also been improved. When you pin a command from Command Palette, a new dialog lets you choose where it appears in the Dock and whether to show or hide the title and subtitle.

This release also fixes two separate typing-crash scenarios, hardens extension loading so one faulty extension no longer takes down the whole list, improves indexer search with filename broadening and Windows Search availability indicators, and adds Windows Terminal profile pinning with per-profile icons.

Massive thanks to @jiripolasek for the sustained Command Palette work across this release!

Keyboard Manager improvements

In the last release, we introduced a new Keyboard Manager Editor that makes it easier to create and manage remappings. In this release, we are refining that experience further. You can now manually tweak recorded keys. After recording a remapping, each key becomes a dropdown, allowing you to adjust it or select keys that may not exist on your physical keyboard.

We also added a new action called Disabled, which lets you quickly disable specific keys or shortcuts.

We also fixed an important issue with multi line text replacement, significantly improving reliability in chat apps and plain text editors.

ZoomIt gets scrolling screenshots

ZoomIt also brings several enhancements to productivity and capture workflows. You can now take scrolling screenshots, making it easier to capture long pages or content that extends beyond the visible screen. We've also added text extraction directly when snipping, so you can quickly grab and reuse text without extra steps. In addition, the break timer has been improved with a new screen saver mode, helping you step away and take breaks more effectively.

Other notable changes

  • Image Resizer: The UI has been migrated from WPF to WinUI 3, bringing a more modern look and improved consistency with the rest of PowerToys.
  • Advanced Paste: Fixed auto-copy failing on Electron/Chromium apps like Teams and VS Code by releasing held modifier keys before injecting Ctrl+C.
  • Settings: Multiple UI and usability improvements across different utilities.
  • General: Streamlined default module states so new installations start with a lighter initial experience

Advanced Paste

  • Eliminated 13 XAML compiler warnings by switching x:Bind expressions on non-observable properties from OneWay to OneTime mode in #46726
  • Fixed auto-copy failing on Electron/Chromium apps (e.g. Teams, VS Code) by releasing held modifier keys before injecting Ctrl+C in #46486

Always On Top

  • Fixed the pin/unpin sound playing even when the operation failed by gating sound playback on whether SetWindowPos actually succeeded in #46910

Command Palette

Dock

  • Added a new pin-to-Dock dialog that gives users more control over how commands are pinned, replacing the previous one-click pin behavior in #46436. Thanks @niels9001!
  • Added a Compact Dock mode (28px tall, subtitle hidden) for Top/Bottom dock positions, and hid the Dock Size setting for Left/Right positions in #46699
  • Made the Dock window stay on top of all other windows by default, automatically yielding when a full-screen app is detected in #46163. Thanks @jiripolasek!
  • Decoupled the Dock context menu from the Command Bar's active item so it no longer updates when a different list item is selected, and made the Dock search box position follow the Dock position in #46420. Thanks @jiripolasek!
  • Fixed duplicate dock bands caused by missing duplicate check when pinning in #46438
  • Fixed a build-breaking merge inconsistency in DockWindow.xaml.cs in #46639. Thanks @jiripolasek!
  • Fixed the Dock not reflecting pin/unpin changes until restart in #47169
  • Fixed the Dock window showing a visible frame on startup by hiding the DWM border during window creation in #47187

Extensions & SDK

  • Added plain text viewer and image viewer IContent types to the extension SDK in #43964. Thanks @jiripolasek!
  • Added persistent calculator history with save, reuse, delete, and clear actions, configurable primary action, and replace-query-on-enter behavior in #45307. Thanks @jiripolasek!
  • Added a NetworkSpeedUnit choice setting to the Performance Monitor extension (bits/s, decimal bytes/s, IEC binary bytes/s) in #46320. Thanks @niels9001!
  • Enabled dock pinning of Windows Terminal profiles with per-profile icons, and hardened GUID parsing so a malformed profile entry no longer breaks the whole list in #46372
  • Assigned stable IDs to FancyZones layout commands in the PowerToys extension so users can pin individual layouts to the dock in #46198. Thanks @vanzue!
  • Hardened the Performance Monitor extension with exception handling and crash recovery via a sentinel file mechanism in #46541. Thanks @jiripolasek!
  • Gave each built-in extension its own settings file with transparent one-time migration from the legacy shared settings.json in #46685. Thanks @michaeljolley!
  • Shipped Copilot instructions and 5 skills (publish-extension, add-adaptive-card-form, add-extension-settings, add-dock-band, add-fallback-commands) inside the extension template in #46683. Thanks @niels9001!
  • Fixed invisible/corrupted icons in newly created extensions by extracting template expansion into a dedicated service that no longer rewrites binary files in #46490. Thanks @jiripolasek!
  • Fixed a Watson crash where a single extension in a bad state would kill the entire extension-loading loop in #47032
  • Fixed right-click context menus failing to open on the first attempt for slow out-of-process third-party extensions in #46626. Thanks @jiripolasek!
  • Fixed the Settings toggle for disabling fallback commands from out-of-process extensions by switching the type check from a concrete class to the WinRT interface in #47127
  • Simplified the Time & Date extension page to recalculate results on every query rather than caching, breaking a potential infinite update loop in #46396. Thanks @jiripolasek!
  • Fixed Calculator extension unit tests failing under non-English cultures in #46911. Thanks @niels9001!

Search & Indexer

  • Improved indexer search with implicit filename broadening for plain free-text queries, retry-with-literal matching for punctuation-heavy searches, and a Windows Search availability indicator in #46907. Thanks @jiripolasek!
  • Fixed a crash when converting large calculator results to hex/oct/bin by switching the secondary-results base conversion to BigInteger with a custom base converter in #46176. Thanks @jiripolasek!
  • Split the full-screen shortcut guard into separate full-screen and busy checks with an opt-in IgnoreShortcutWhenBusy setting, added a live diagnostic InfoBar, and introduced an opt-in triple-press breakthrough to bypass suppression in #45891. Thanks @jiripolasek!
  • Fixed the Window Walker Close window command to respect the "Keep open after closing window" setting and automatically refreshed the window list in #45721. Thanks @jiripolasek!

Reliability & UX

  • Fixed a 100% reproducible crash when typing in the search box by adding a reentrancy guard around filtered-items mutations in #47148. Thanks @MuyuanMS!
  • Fixed a second typing crash that occurred when the indexer fallback was enabled by correcting a P/Invoke function signature in #47186
  • Hardened ListViewModel item-fetch synchronization with copy-on-write cache publication, latest-fetch-wins semantics, and improved cancellation cleanup in #46429. Thanks @jiripolasek!
  • Refactored settings and app state to be immutable end-to-end to eliminate concurrency race conditions in #46451. Thanks @michaeljolley!
  • Added a CanGoBack guard to Frame.GoBack, preventing a crash when navigating back with an empty navigation stack in #46493. Thanks @jiripolasek!
  • Fixed duplicate and contradictory Pin to Dock/Unpin from dock context menu entries appearing on top-level home-page items in #46458. Thanks @michaeljolley!
  • Prevented PgUp/PgDown paging from landing on non-interactive entries like separators and section headers in #46439. Thanks @jiripolasek!
  • Fixed keyboard focus restoration on the Extensions settings page so Shift+Tab returns to the previously selected extension card in #45903. Thanks @jiripolasek!
  • Reverted focus-restoration on the Extensions settings page that was causing clicks to open the wrong extension item in #46642. Thanks @jiripolasek!
  • Fixed inline code (backtick text) in the Details and Content panels being invisible on light-theme backgrounds in #46739. Thanks @michaeljolley!
  • Fixed the Window Walker "Not Responding" tag being illegible in dark mode in #46924. Thanks @niels9001!
  • Fixed a WinUI layout bug where the settings page content was visually offset when wrapped in a ScrollViewer with MaxWidth in #46568
  • Fixed a regression in PinToDockDialogContent.xaml where a type rename was missed during a merge gap in #46599. Thanks @jiripolasek!
  • Fixed a screen reader accessibility issue where the Alias text box announced "Enter Alias" instead of just "Alias" in #45906
  • Added screen reader announcements for shortcut key information on the settings button in #46164. Thanks @chatasweetie and @jiripolasek!
  • Removed redundant container-level tab stops in the details panel for improved keyboard accessibility in #46346. Thanks @chatasweetie!

Infrastructure & Code Quality

  • Extracted persistence and file I/O logic from SettingsModel and AppStateModel into dedicated service classes in #46312. Thanks @michaeljolley!
  • Introduced CmdPalLogger, CmdPalLoggerProvider, and an extension method integrating Microsoft.Extensions.Logging with ManagedCommon.Logger in #46768. Thanks @michaeljolley!
  • Bumped all CommunityToolkit.WinUI packages from 8.2.250402 to 8.2.251219 and removed three SearchBar workaround hacks in #46027. Thanks @niels9001!
  • Enabled telemetry event firing correctly in AOT builds by adding EventSourceSupport in #47121
  • Updated the extension solution filter files to include new transitive dependencies and added a leaner SLNF for faster developer builds in #46896. Thanks @jiripolasek!
  • Updated the Microsoft.CmdPal.Ext.PowerToys solution filter file to include missing project dependencies in #46136. Thanks @jiripolasek and @vanzue!
  • Removed a legacy workaround for FontIconSource.CreateIconElement (fixed in WinAppSDK 1.8.4) in #45790. Thanks @jiripolasek!
  • Moved developer documentation to doc/devdocs/modules/cmdpal to align with other PowerToys modules in #46926. Thanks @niels9001!
  • Bumped Command Palette version to 0.10 in #47181

Image Resizer

  • Migrated Image Resizer from WPF to WinUI 3, unblocking future AOT compilation and aligning with Windows 11 design language in #45288. Thanks @moooyo and @niels9001!
  • Restored honoring the user-configured JPEG quality setting when resizing JPEGs, which had been silently ignored at a fixed ~Q90 default after the WinUI 3 migration in #47134
  • Fixed missing PNG encoder settings by applying codec-specific encoder properties in the transcode path in #46695. Thanks @moooyo!
  • Fixed a regression where JsonPropertyName attributes were not forwarded by the ObservableProperty generator, restoring correct JSON serialization in #47056

Keyboard Manager

  • Reverted multiline text replacement back to character-by-character sending with Shift+Enter for newlines, fixing multiline replacements in chat apps and plain editors in #46794
  • Addressed code review feedback on manual key selection: fixed localization, centralized VK_DISABLED constants, added validation for disable mappings, fixed dropdown revert logic, and plugged Process handle leaks in #46377

Light Switch

  • Fixed Light Switch and PowerDisplay integration by re-enabling the Apply monitor settings expander and disabled-warning InfoBar in Settings, and ensuring every hotkey press notifies PowerDisplay instead of only every other press in #47190

Mouse Utilities

  • Refactored PadImage in PowerOCR (Text Extractor) to improve memory management and nullability clarity in #44906. Thanks @adelobosko!

Peek

  • Added auto-detection of file name encoding when previewing zip files, fixing garbled text for archives created on non-UTF-8 systems in #44799. Thanks @oxygen-dioxide!

Power Display

  • Re-enabled the PowerDisplay module with a new icon/logo, DPI fixes, UI/UX improvements, and installer integration in #46489
  • Cleaned up the PowerDisplay module by fixing resource leaks, removing dead code, converting a recursive parser to iterative, and changing the default activation shortcut to Win+Ctrl+Shift+P in #46979
  • Fixed thread safety by marking shared fields as volatile, guarding color temperature writes behind a capability check, and correcting a misleading log message in #47008
  • Fixed PowerDisplay startup restore, volume initialization, and Identify window lifecycle in #47051
  • Introduced a shared flyout positioning helper used by PowerDisplay and Quick Access, fixing taskbar overlap at 100% scaling and off-screen rendering after DPI changes in #47097
  • Polished Power Display by standardizing the module name, shrinking the flyout slightly, and removing dead code in #47163

PowerToys Run

  • Fixed a command breakout in the Shell plugin by escaping double quotes in the command string, while still allowing environment variables to expand in #45554. Thanks @RinZ27!
  • Removed unused XAML namespace declarations from PowerLauncher XAML files in #46221. Thanks @niels9001!

Quick Accent

  • Added subscript and superscript Unicode characters to the Special Characters set for keys 0-9, A, E, N, X, Y, Z, and math operators in #45540. Thanks @Salehnaz!
  • Added the missing Icelandic accented letter í to the VK_I key definition in #46424. Thanks @squirrelslair!
  • Added Shift+N capitalization support for superscript Latin small letter n in #46571. Thanks @PesBandi!
  • Restored the en-dash character under the VK_MINUS key in the Special Characters set in #47106
  • Fixed the default "All available" language setting silently falling back to a small character set due to parsing issues, added case-insensitive parsing with invalid-entry warnings, and added two new Hungarian character mappings in #47117. Thanks @daverayment!

Settings

  • Fixed the Settings shortcut/key visuals so arrow glyphs (up/down/left/right) render as proper FontIcon glyphs instead of literal text in #46454. Thanks @vanzue!
  • Formatted the last checked for updates timestamp as friendly relative strings (Today at 1:22 PM, Yesterday at 3:45 PM) in #46923
  • Fixed Dashboard layout issues by removing excessive empty scroll space, restoring responsive behavior, and correcting a 1-pixel vertical alignment mismatch in #46922
  • Fixed the Quick Accent character-sets grid being clipped and showing an inner horizontal scrollbar, so the list reflows from 3 to 2 to 1 columns on resize in #45986. Thanks @daverayment!
  • Renamed the shortcut conflict checkbox label from "Ignore shortcut" to "Ignore conflict" for clarity in #46318
  • Fixed the backup folder path being visually clipped on the General and Image Resizer pages in #46920
  • Refreshed Settings UI assets and copy: fixed a ZoomIt page regression, updated the Command Palette settings page with current links and screenshots, and added missing overview screenshots in #47132
  • Fixed missing images in the Settings UI by adjusting the project file so image assets are packaged correctly in #47165
  • Tweaked wording on a handful of Settings strings for clarity and consistency in #47164

Text Extractor

  • Removed the third-party WPF-UI library in favor of native WPF Fluent theming with custom control templates in #46218
  • Window Manager (Grab And Move)
  • Added the Grab And Move module enabling Alt+Left Click window dragging and Alt+Right Click window resizing, without needing to target title bars in #47024
  • Unstuck the Alt key after Ctrl+Alt+Del or Alt+Tab into an admin process, made Win selectable as the move/resize activation modifier, and made the window geometry readout opaque in #47052. Thanks @foxmsft!
  • Updated Grab And Move Settings strings to be modifier-agnostic now that Win is selectable alongside Alt in #47178

ZoomIt

  • Added panoramic/scrolling screenshot capture, text extraction when snipping, and break timer improvements with screen saver mode and optional computer lock in #46506. Thanks @foxmsft, @MarioHewardt, and @markrussinovich!
  • Fixed ZoomIt x86 build compatibility by emulating the _mm_cvtsi128_si64 intrinsic with _mm_storel_epi64 for 32-bit targets in #46529. Thanks @foxmsft!

Development

  • Added a full OOBE page for Grab And Move, high-resolution icons and overview images for both Grab And Move and PowerDisplay, NEW badges on Settings nav items, and refreshed the README utilities table in #47033
  • Added an update-available badged tray icon, a new "Update available" tray menu entry that opens Settings to General, and raised the update InfoBar severity to Warning in #47030
  • Updated the dark-mode PowerToys tray icons to use the correct shade of black for the outline in #47166
  • Changed default-on state for new installations by disabling 7 modules by default to streamline the initial experience for new users in #47027
  • Added explicit default-disabled overrides to eight module interfaces so the native Runner defaults match the managed enabled-modules list, eliminating first-launch enable/disable flicker in #47144
  • Updated the Windows Implementation Library (WIL) from 1.0.231216.1 to 1.0.250325.1 via Central Package Management in #43503
  • Fixed the build.ps1 script so the -RestoreOnly switch works correctly and added support for the newer .slnf solution filter file format in #46012. Thanks @raycheung!
  • Upgraded the check-spelling CI action to v0.0.26 which fixes spell-check failures on fork PRs and updates exclusion patterns in #46851. Thanks @jsoref!
  • Refreshed the check-spelling action to 0.0.26 and synced dictionaries, patterns, and expect/reject lists across docs, source, and resource files in #47119. Thanks @jsoref!
  • Pinned the check-spelling GitHub Action to v0.0.26 to attempt to fix the CI pipeline blocking PRs from forked repositories in #46746
  • Reverted the pinning of the check-spelling action after determining that the pin was unrelated to the pipeline issue in #46749. Thanks @moooyo!
  • Added contributor names from a recent PR to the spellchecker allow-list to prevent CI spelling errors in #46765. Thanks @jiripolasek!
  • Added comprehensive DSC (Desired State Configuration) documentation with per-module reference pages, settings examples, and an overview guide covering 25+ PowerToys modules in #42554. Thanks @Gijsreyn!
  • Cleaned up root-folder Markdown files by consolidating bullet styles, fixing spelling and grammar, converting HTML to Markdown, and applying sentence-case headers in #46582. Thanks @Jay-o-Way!
  • Documented three missing telemetry events (ModuleLaunchedFromSettings, CmdPal_DockConfiguration, KeyboardManager_LaunchEditor) in #46371
  • Added telemetry event logging to CLI entry points for FileLocksmith, Awake, and Image Resizer so command-line invocations are tracked alongside GUI usage in #46872. Thanks @MuyuanMS!
  • Added 75+ MSTest unit tests covering Hosts ValidationHelper (IPv4/IPv6/hostname validation) and ColorPicker ColorFormatHelper conversions (CMYK, HSB/HSI/HWB, CIE XYZ/LAB, Oklab/Oklch, sRGB-linear, NCol) in #46679
  • Fixed MSTEST0017 analyzer warnings by correcting assertion argument order in 22 Assert calls across 8 test files in #46712
  • Fixed a CI test hang where Common.Interop.UnitTests.TestSend could block for 80 minutes when a prior run left a named-pipe handle alive, by ensuring pipe names are unique per run and bounding handshake waits in #47123
  • Resolved StyleCop SA1614, SA1616, SA1622, and SA1623 warnings across Command Palette, Power Display, Settings UI, DSC, and Extensions Toolkit code in #46706, #46707, #46717, #46718
  • Bumped the azure/login GitHub Action from v2 to v3 in the MS Store submissions workflow in #46323
  • Bumped the azure/cli GitHub Action from v2 to v3 in the MS Store submissions workflow in #46562

Previous Highlights

PowerToys 0.98 brings your workflow front and center with a refreshed Keyboard Manager, the new Command Palette Dock, an even better CursorWrap and performance boosts across the board.

A refreshed Keyboard Manager Editor experience (Preview)

This release introduces a new editor experience for Keyboard Manager. The UI has been rebuilt from the ground up using WinUI 3, making it easier for us to maintain and improve going forward.

With the new foundation, we also took the opportunity to address feedback and rethink the editing experience. Instead of working across two separate windows, the new editor provides a single, unified view where you can manage both single key and shortcut remappings. A new editing dialog makes it easier to create remappings – whether you want to remap a key or shortcut, send text, or open an app or URL.

As part of this UI refresh, we also added individual toggle switches, allowing you to quickly enable or disable remappings without having to delete the entry. The new Keyboard Manager Editor can be enabled in Settings, and all your existing remappings should just work and carry over. As we love getting early feedback, we are keeping both editor systems in place while we improve the new experience. Give it a try and let us know what you think by filing bugs or feature requests on GitHub!

Alongside the new editor, you can now enable or disable Keyboard Manager using a shortcut or through the Keyboard Manager command in Command Palette. We also added support for multi-line input when sending text.

Meet the new Command Palette Dock (Preview)

This release introduces the Command Palette Dock, a new optional mode that lets you keep your favorite commands and extensions always within reach. When enabled via the Command Palette settings, the Dock stays visible on your screen and provides quick access to the tools you use most.

You can position the Dock at the top, bottom, left, or right side of your screen and customize it to fit your workflow. To get started, open Command Palette settings and enable the Dock on the Dock page. From there, you can also adjust its position and appearance. By default, a few extensions are already pinned. To add more, open Command Palette, navigate to a command, and select Pin to Dock from the right-click or more actions menu. Pinned items will appear in the Dock, and you can rearrange or remove them by right-clicking the Dock and selecting Edit Dock, where you can drag items into the order you prefer.

If you want to explore even more functionality, be sure to check out the Microsoft Store or WinGet for additional Command Palette extensions! The Dock is currently in preview, and we'd love to hear your feedback as we continue improving the experience together with the community.

Command Palette is now faster and adds support for window transparency

Alongside the new Dock, this release includes many additional improvements to Command Palette. We've fixed a large number of bugs and added several new settings, including options to adjust window transparency, preserve search text between activations, and hide non-app results.

Performance has also received significant attention in this release. Improvements to caching, UI responsiveness, and other optimizations make Command Palette faster and smoother than ever.

Better multi-monitor support for CursorWrap

CursorWrap also received several improvements in this release based on community feedback. The wrapping engine has been rewritten to better support complex multi-monitor layouts, making the behavior more reliable across different setups. We also added a few new options, including the ability to disable CursorWrap when only a single monitor is connected, and a new activation mode that lets you wrap the cursor only while holding Ctrl or Shift.

Always On Top is now easier to activate

We've added a much-requested improvement to Always On Top. In addition to the keyboard shortcut, you can now pin a window directly from the title bar by right-clicking it and selecting the Always On Top option. This makes it easier for mouse users to quickly pin or unpin a window. You can also now adjust the transparency of a pinned window using Ctrl + Shift + +/- keys to increase or decrease the transparency.

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!

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.