PowerToys Preview 0.101.2293.0 lands with CmdPal system commands and an AI-driven release pipeline
Following Microsoft's latest preview drop, PowerToys 0.101.2293.0 is now available. The headline addition is straightforward: the Command Palette now gets two system-level entries that mirror what you'd find in Windows's own Start menu power flyout. You can kick off an "Update and restart" or "Update and shut down" without alt-tabbing into Settings.
That conditional behavior matters. No pending updates? The palette stays exactly as it was before.
Beyond the new commands, the release quietly ships the project's first fully autonomous, AI-assisted release preparation workflow. Windows has long treated pending updates like a surprise guest who never leaves. PowerToys finally giving you a polite way to show them the door makes sense, even if the implementation caches a COM call for five seconds to keep the palette snappy.
Command Palette finally gets system-level reboot entries
Two new commands appear in the Windows System Commands extension, but they're strictly guarded. They only trigger when ISystemInformation::RebootRequired from WUAPI reports a pending reboot. The conditional behavior keeps the palette from cluttering your search when Windows isn't actually waiting for you.
Under the hood, the implementation is fairly careful. The author used [GeneratedComInterface] instead of ComImport so the code stays compatible with .NET NativeAOT down the line. The WUAPI call result caches for five seconds because GetItems() runs on every keystroke, and spawning COM objects on a hot path is a fast way to burn CPU. If the COM call fails, the provider quietly falls back to "no update pending" instead of crashing the palette. It just can't break existing behavior on machines where WUAPI is missing.
The actual shutdown initiation requires SeShutdownPrivilege, which sits disabled by default. The code captures and restores the prior privilege state in a finally block rather than leaving it wide open for the process lifetime. Both commands also route through the existing ExecuteCommandConfirmation pipeline, so the "confirm system commands" toggle in PowerToys settings still applies.
The feature was milestone-locked for PowerToys 0.102, but it shipped here as a stepping-stone. Two new unit tests validate presence and absence in both states, and the maintainer confirmed end-to-end behavior on a machine with a genuine pending patch.
The build pipeline now runs itself
The autonomous release agent is where this preview gets interesting from a devops standpoint. PR #49797 introduces a custom workflow that takes a successful Azure DevOps release-candidate build and turns it into a complete GitHub draft prerelease. The agent can't publish anything. It only creates or updates draft releases, and a human has to pull the trigger before it goes live.
The setup includes a handful of PowerShell scripts under .github/skills/release-note-generation/scripts/. One resolves build metadata, another picks the latest published baseline, and a third calculates semantic deltas using PR numbers and cherry-pick provenance. There's also a verification step that checks draft flags, the immutable target commit, and the uploaded assets before the draft ever sees the light of day.
It's a lot of guardrails for what used to be a manual copy-paste job. Review cycles ran through Copilot AI across three rounds, with feedback landing on draft workflow safety, manifest verification, and asset payload validation. The maintainer approved it after those fixes, and 37 Pester tests now cover the new logic.
For what it's worth, this is one of the first visible examples of a major Microsoft open-source project routing CI/CD releases through a custom agent. The long-term goal is clear: reduce manual release overhead while keeping humans firmly in the approval loop.
A handful of other changes round out the preview. Command Palette's global fallback ranking now treats exact-title matches the same way it treats real commands, so typing "reload" actually puts your fallback at the top instead of burying it below fuzzy matches. Color Picker finally stops sampling at weird intervals when a display reports a refresh rate of 0 or 1, which some panels use as a placeholder for their native rate. Image Resizer gets stricter CLI validation with clearer error messages for batch scripting, and ZoomIt's recording pipeline no longer deadlocks when audio initialization stumbles.
Head here to download PowerToys Preview v0.101.2293.0. The preview supports both per-user and machine-wide installs across x64 and ARM64. The project remains a solid utility pack for Windows, and while it's not changing the OS itself, it's quietly fixing enough small frictions to matter. Keep an eye on the 0.102 milestone if you're waiting on the full set of CmdPal polish.


