* Fix Show Installed Apps missing the widest winget name winget pads each column of `winget list` to its widest value plus one space, so the row with the widest Name has a single space before its Id. The installed-app pattern required two or more, so that app was never ticked; for example vc2015_64/vc2015_32 when the VC++ v14 runtimes have the longest names. Require only one whitespace character on each side of the ID instead of two. There is still no start-of-line alternative, so an ID still cannot match at the start of a Name. Add a Pester case where the target app has the widest Name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Only accept a one-space winget Id at the Id column Loosening the pattern to one whitespace character let an ID match a word inside another package's Name, so "Some Git.Git Tool" ticked Git. Restore the original two-space pattern unchanged, so everything main matched still matches. Also accept the ID when it starts exactly at the Id column, taken from the header line above the dashes. That still catches the row with the widest Name or Id, cannot match inside an ASCII Name, and skips rows whose Name has combining marks or emoji, which are more characters than columns. The lookbehind keeps Windows PowerShell 5.1 as fast as main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Cover widest WinGet IDs in both package manager modes --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Chris Titus <contact@christitus.com>
Chris Titus Tech's Windows Utility
A curated compilation of Windows system tasks streamline installs, debloat with tweaks, troubleshoot with config, and configure Windows updates. Run it fresh on every new Windows install.
Quick Start
WinUtil must be run as Administrator because it performs system-wide changes.
Open PowerShell or Terminal as admin, then run:
Stable Branch (recommended)
irm https://christitus.com/win | iex
Development Branch
irm https://christitus.com/windev | iex
How to open an admin terminal
- Start menu: Right-click Start → Windows PowerShell (Admin) or Terminal (Admin)
- Search: Press the
Windows key, and typePowerShellorTerminal, thenCtrl + Shift + Enter
Automation / Presets
Apply a predefined configuration without manual selection:
& ([ScriptBlock]::Create((irm https://christitus.com/win))) -Preset Standard
| Preset | Description |
|---|---|
Standard |
Balanced defaults for most users |
Minimal |
Minimal changes to suit every user |
Advanced |
Deep tweaks for power users |
To view exactly what each preset does, see: https://github.com/ChrisTitusTech/winutil/blob/main/config/preset.json
Build & Develop
See https://github.com/ChrisTitusTech/winutil/blob/main/.github/CONTRIBUTING.md
Resources
Support
- Leave a ⭐ to show support!
- Faster Dotnet Implementation for sale here: https://www.cttstore.com/windows-toolbox
Sponsors
These are the sponsors that help keep this project alive with monthly contributions.













*Sponsors with a recurring subscription also get access to the .NET alternative.
Contributors
Thanks to everyone who has contributed time and effort to this project. Keep rocking 🍻
