Go to file
Ani deb6234d72
[PreviewHandlers]Check for Disposed state when updating window bounds (#33373)
* Fixed Previewer production crash with an ObjectDisposedException

* Bumped MSBuildCacheCacheUniverse
2024-06-16 16:32:33 +01:00
.config [Build]Use XamlStyler to check XAML formatting (#28643) 2023-10-09 15:58:13 +01:00
.configurations [Dev]Add additional Winget DSC scripts for VS Pro and Enterprise (#31325) 2024-02-08 09:50:37 +00:00
.github [ci]Removing a noisy error from spell check (#33352) 2024-06-13 09:08:50 +01:00
.pipelines [ci][Tests]Fix vstest location for VS 17.10 release (#33033) 2024-05-23 22:32:28 +01:00
deps
doc [Monaco]Improve .gitignore definition (#33263) 2024-06-14 16:09:52 +01:00
installer [Monaco]Improve .gitignore definition (#33263) 2024-06-14 16:09:52 +01:00
src [PreviewHandlers]Check for Disposed state when updating window bounds (#33373) 2024-06-16 16:32:33 +01:00
tools [GPO][AdvPaste]Online AI models GPO (#33045) 2024-05-26 12:22:50 +01:00
.gitattributes
.gitignore [DSC] Implement Microsoft.PowerToys.Configure DSCResource & winget support (#30918) 2024-04-02 00:09:47 +01:00
.gitmodules
.vsconfig [Dev]Add missing ATL lib to .vsconfig (#26953) 2023-06-20 14:45:46 +01:00
CODE_OF_CONDUCT.md
COMMUNITY.md Update COMMUNITY.md (#32725) 2024-06-12 09:34:32 -07:00
CONTRIBUTING.md Add bot trigger for contribution thread (#28221) 2023-11-15 15:46:52 -08:00
Cpp.Build.props [Build]Unify PCH usage (#31055) 2024-03-22 10:29:14 +00:00
CppRuleSet.ruleset
Directory.Build.props [Peek]Support for special folders like Recycle Bin and My PC (#33310) 2024-06-14 15:40:25 +01:00
Directory.Build.targets [Build]Add Microsoft.MSBuildCache (#30100) 2024-01-15 21:45:28 +00:00
Directory.Packages.props [Deps]Upgrade WinAppSDK to 1.5.3 (#32809) 2024-05-31 09:50:21 +01:00
LICENSE
NOTICE.md [Deps]Upgrade WinAppSDK to 1.5.3 (#32809) 2024-05-31 09:50:21 +01:00
nuget.config [EnvVar][Hosts][RegPrev]Decouple and refactor to make it "packable" as nuget package (#32604) 2024-04-26 18:41:44 +01:00
packages.config Opt into Microsoft.Build.RunVSTest to run tests within MSBuild (#32166) 2024-04-02 11:47:58 -07:00
PowerToys.sln [QC]Drop outdated sln win-app-driver README.md file reference (#32794) 2024-05-31 09:46:23 +01:00
README.md adjusted readme for clarifying adavnced paste (#33027) 2024-05-23 11:52:53 -07:00
SECURITY.md Update SECURITY.md from 0.0.2 to 0.0.9 (#28289) 2023-09-06 09:14:28 -07:00
Settings.XamlStyler [Build]Use XamlStyler to check XAML formatting (#28643) 2023-10-09 15:58:13 +01:00
Solution.props
SUPPORT.md

Microsoft PowerToys

Hero image for Microsoft PowerToys

How to use PowerToys | Downloads & Release notes | Contributing to PowerToys | What's Happening | Roadmap

Build status

Architecture Solution (Main) Solution (Stable) Installer (Main)
x64 Build Status for Main Build Status for Stable Build Status Installer pipeline
ARM64 Build Status for Main Build Status for Main Build Status Installer pipeline

About

Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity. For more info on PowerToys overviews and how to use the utilities, or any other tools and resources for Windows development environments, head over to learn.microsoft.com!

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

Installing and running Microsoft PowerToys

Requirements

  • Windows 11 or Windows 10 version 2004 (code name 20H1 / build number 19041) or newer.
  • x64 or ARM64 processor
  • Our installer will install the following items:

Go to the Microsoft PowerToys GitHub releases page and click on Assets at the bottom to show the files available in the release. Please use the appropriate PowerToys installer that matches your machine's architecture and install scope. For most, it is x64 and per-user.

Description Filename sha256 hash
Per user - x64 PowerToysUserSetup-0.81.0-x64.exe E62B1EE81954A75355C04E7567B1C9AAD6034AA0C61AD22587F8746D0DC488C8
Per user - ARM64 PowerToysUserSetup-0.81.0-arm64.exe 75330A2DB4F9EF9B548B3B58F8BF3262C8C67E680042639BBBBC87EA244F24E2
Machine wide - x64 PowerToysSetup-0.81.0-x64.exe 29F151B01FE3C94D4FD75F2D6E8F09A6C0F0962385B83A5A733F6717312F639D
Machine wide - ARM64 PowerToysSetup-0.81.0-arm64.exe FCE636220E1FB854771258D9558E07B7532728AD4C722A7920338DEE60DEECF7

This is our preferred method.

Via Microsoft Store

Install from the Microsoft Store's PowerToys page. You must be using the new Microsoft Store which is available for both Windows 11 and Windows 10.

Via WinGet

Download PowerToys from WinGet. Updating PowerToys via winget will respect 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 install 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.

Third-Party Run Plugins

There is a collection of third-party plugins created by the community that aren't distributed with PowerToys.

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.

What's Happening

PowerToys Roadmap

Our prioritized roadmap of features and utilities that the core team is focusing on.

0.81 - Build 2024 Update

In this release, we focused on new features, stability and improvements.

Highlights

  • New utility: Advanced Paste - This is an evolution based on feedback of the Paste As Plain Text utility to do more. It can paste as plain text, markdown, or json directly with the new UX or with a direct keystroke invoke. These are fully locally executed. In addition, it now has an AI powered option as well if you wish with the free form text box. The AI feature is 100% opt-in and requires an Open AI key. This new system will allow us to have more freedom in the future to quickly add in new features like pasting an image directly to a file or handle additional meta data types past just text.
  • Command Not Found now uses the PowerShell Gallery release and now supports ARM64. Thanks @carlos-zamora!
  • Fixed most accessibility issues opened after the latest accessibility review.
  • Refactored, packaged and released the main Environment Variables Editor, Hosts File Editor and Registry Preview utilities functionality as controls to be integrated into DevHome. Thanks @dabhattimsft for validating and integrating into DevHome!

General

  • Fixed crashes on older CPUS by updating .NET to 8.0.4. (This was a hotfix for 0.80)

Advanced Paste

  • New utility: Advanced Paste - This is an evolution based on feedback of the Paste As Plain Text utility to do more. It can paste as plain text, markdown, or json directly with the new UX or with a direct keystroke invoke. These are fully locally executed. In addition, it now has an AI powered option as well if you wish with the free form text box. The AI feature is 100% opt-in and requires an Open AI key. This new system will allow us to have more freedom in the future to quickly add in new features like pasting an image directly to a file or handle additional meta data types past just text.

AlwaysOnTop

  • Enable border anti-aliasing. Thanks @ewancg!

Color Picker

  • Improved accessibility by making the Settings and Copy to clipboard buttons focusable.
  • Improved accessibility by supporting picking a color using the keyboard.

Command Not Found

  • Upgraded the Command Not Found to use the new PowerShell Gallery release and support ARM64. Thanks @carlos-zamora!

Environment Variables Editor

  • Refactored, packaged and released the main Environment Variables Editor functionality as a control to be integrated into DevHome. Thanks @dabhattimsft for validating and integrating into DevHome!

FancyZones

  • Fixed window wrap around behavior when overriding Windows key and arrow shortcuts on single monitor scenarios. Thanks @DanRosenberry!
  • Improved accessibility of the editor by listing the keyboard shortcuts in the Canvas Editor.

File Explorer add-ons

  • Updated Monaco to 0.47 and added the new sticky scroll setting for DevFiles viewer. Thanks @Aaron-Junker!
  • Added the new font size setting for DevFiles viewer. Thanks @Aaron-Junker!
  • Added support for .srt (subtitle) file previewing in DevFiles viewer. Thanks @PesBandi!

Hosts File Editor

  • Refactored, packaged and released the main Hosts File Editor functionality as a control to be integrated into DevHome. Thanks @dabhattimsft for validating and integrating into DevHome!

Image Resizer

  • Supported narrator announcing the checkboxes in the UI and the sizes combobox. Thanks @davidegiacometti!
  • Improved accessibility by increasing contrast in the text color of combobox items.

Installer

  • Fixed some install failures when the folders the DSC module is to be installed in isn't accessible by the WiX installer. (This was a hotfix for 0.80)
  • Detecting install location for DSC now uses registry instead of WMI to improve performance. Thanks @davidegiacometti!
  • Fixed an error causing the machine scope installer to not install correctly in machines where the documents folder is in a UNC network path. We're still working in a fix for the user scope installer.

Keyboard Manager

  • Fixed startup crashes in the editor when the Visual C++ Redistributable wasn't installed. (This was a hotfix for 0.80)
  • Fixed an accessibility issue where the first button wasn't focused after adding a new row in the editor.
  • Environment Variables are now expanded in arguments of programs started through a shortcut. Thanks @HydroH!

Paste as Plain Text

  • Paste as Plain Text was removed as a separate utility, since its functionality is now part of the Advanced Paste utility.

Peek

  • Updated icons, tweaked UI and refactored internal code. Thanks @Jay-o-Way!
  • Updated Monaco to 0.47 and added the new sticky scroll setting for DevFiles viewer. Thanks @Aaron-Junker!
  • Added the new font size setting for DevFiles viewer. Thanks @Aaron-Junker!
  • Upgrade the SharpCompress dependency to 0.37.2 and fixed archive parsing. Thanks @davidegiacometti!
  • Fixed aliasing in the image viewer.
  • Added support for .srt (subtitle) file previewing in DevFiles viewer. Thanks @PesBandi!

Power Rename

  • Fixed the descriptions that were mixed up in the regex helper (\S and \w).

PowerToys Run

  • Added support for UNC paths starting with // in the Folder plugin. Thanks @davidegiacometti!
  • Fixed the plugin load failed message to list the failed plugins. Thanks @belkiss!
  • Icons for MSIX packages are now updated when a package update is detected. Thanks @HydroH!
  • Use Mica backdrop instead of Acrylic to fix random crashes caused by the Windows composition being momentarily turned off.
  • Improved accessibility in the results list action buttons by improving contrast of hovered/focused buttons.

Quick Accent

Registry Preview

  • Refactored, packaged and released the main Registry Preview functionality as a control to be integrated into DevHome. Thanks @dabhattimsft for validating and integrating into DevHome!

Text Extractor

  • Fixed an issue causing the Settings page to not be opened when clicking the Settings button in Text Extractor's overlay. (This was a hotfix for 0.80)

Settings

  • Improved UI ordering of the File Explorer add-ons. Thanks @niels9001!
  • Applied fixes to theme overriding and cleaned up unneeded code. Thanks @davidegiacometti!
  • Fixed misspells in references to the Hosts File Editor utility. Thanks @davidegiacometti!
  • Improved accessibility of the Select Folder button in the Settings Backup UI.
  • Improved accessibility by improving focus and tab navigation in the ColorPicker page. Thanks @davidegiacometti!
  • Added a description to the fallback encoder setting in the Image Resizer page. Thanks @Kissaki!
  • Refactored and improved performance in the PowerToys Run plugins UI in the Settings page. Thanks @davidegiacometti!
  • Fixed a crash when a user cleared the contents of a Number Box in the PowerToys Run plugins additional options. Thanks @htcfreek!
  • Update the PATH environment variables with the user scope PATH when entering the Command Not Found page to improve PowerShell detection.

Documentation

  • Added the WebSearchShortcut plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks @Daydreamer-riri!
  • Updated COMMUNITY.md with the project managers that are part of the core team.
  • Improved the DSC samples.
  • Added the 1Password plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks @KairuDeibisu!
  • Added the UnicodeInput plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks @nathancartlidge!

Development

  • Updated System.Drawing.Common to 8.0.5 to fix CI builds after the .NET 8.0.5 upgrade was released.
  • Fixed file permissions when doing a build using cache on PR CI. Thanks @dfederm!
  • Removed the Test SDK reference on ARM64 to fix local building for ARM64. Thanks @dfederm!
  • Replaced make_pair with RemapBufferRow in Keyboard Manager internal code. Thanks @masaru-iritani!
  • Added CODEOWNERS file to protect sensitive parts of the repo. Thanks @htcfreek for the help in figuring out how to make the spellcheck folder an exception!
  • Added comments in code. to make it clear what the error badge in PowerToys Run plugin list in Settings means. Thanks @Jay-o-Way!
  • Enabled caching by default in the PR CI pipelines. Thanks @dfederm!
  • Disabled caching for PR started from forks, since those were failing. Thanks @dfederm!
  • Removed baseline files for policy checking and turned on the "TSA" process in the release pipelines instead.
  • Added caching of nuget packages in the PR CI pipelines. Thanks @dfederm!
  • Updated the release CI pipelines TouchdownBuildTask to v3.
  • Moved the release CI pipelines to ESRPv5.
  • Added a policy for GitHub Copilot Workspaces for the repo on GitHub. Thanks @Aaron-Junker!

What is being planned for version 0.82

For v0.82, we'll work on the items below:

  • Stability / bug fixes
  • Language selection
  • New module: File Actions Menu

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 wouldnt 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. Month by month, you directly help make PowerToys a better piece of software.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct.

Privacy Statement

The application logs basic telemetry. Our Telemetry Data page (Coming Soon) has the trends from the telemetry. Please read the Microsoft privacy statement for more information.