WinUtil is a free, open-source Windows 11 toolbox that bundles the most common post-install chores into one window. From a single elevated PowerShell command you can install dozens of applications cleanly, debloat and tweak Windows for privacy and performance, fix broken Windows components, control Windows Update, and even build a custom, debloated Windows 11 installation ISO.
It runs entirely from memory as a PowerShell script — there is nothing to install and nothing left behind when you close it.
Important
WinUtil makes system-wide changes (registry edits, service changes, software installs, appx removals). It must be run as Administrator, and you should understand what each tweak does before applying it. When in doubt, create a restore point first (WinUtil can do this for you).
1. Quick Start
WinUtil is launched with one line in an Administrator PowerShell or Terminal window. There is no download, no installer, and no setup wizard.
Stable (recommended)
irm https://christitus.com/win | iex
Development (preview)
irm https://christitus.com/windev | iex
Expected result — the script downloads the latest build, relaunches itself elevated if needed, and the GUI appears:
====Chris Titus Tech=====
=====Windows Toolbox=====
Winutil needs to be run as Administrator. Attempting to relaunch.
A window titled WinUtil (Admin) opens with five tabs: Install, Tweaks, Config, Updates, and Win11ISO.
Tip
irmis shorthand forInvoke-RestMethodandiexforInvoke-Expression. The command fetches the script fromchristitus.com/win(a redirect to the latest GitHub release) and runs it. Run it again any time you want the newest version — it always pulls the latest build.
Note
WinUtil targets Windows 11. Windows 10 reached end of support on October 14, 2025 and is no longer supported. WinUtil also runs on Windows Server and LTSC editions, though some features may not apply.
Open an Administrator terminal
WinUtil cannot run without elevation. To open an elevated shell:
- Start menu: Right-click Start → Terminal (Admin) or Windows PowerShell (Admin).
- Search: Press the
Windowskey, typeTerminalorPowerShell, then pressCtrl + Shift + Enter.
If you launch WinUtil from a non-elevated shell, it will detect this and automatically relaunch itself as Administrator (using Windows Terminal or PowerShell, and pwsh if installed).
2. Requirements
| Requirement | Detail |
|---|---|
| Operating system | Windows 11 (Windows 10 unsupported as of 2025-10-14). Server / LTSC work with caveats. |
| Privileges | Administrator (the script self-elevates if not already elevated). |
| PowerShell language mode | FullLanguage. Constrained Language Mode is blocked (see Troubleshooting). |
| Internet | Required to download the script and to install applications. Most tweaks work offline. |
| Package managers | WinGet (default) or Chocolatey — WinUtil installs/repairs them for you as needed. |
Note
You never "install" WinUtil. It is a PowerShell script loaded into memory while the window is open (using roughly 50–100 MB of RAM) and removed from memory when you close it. To uninstall it, simply close the window.
3. Touring the Interface
The window is frameless and draggable. A left navigation rail switches between the five tabs; the top bar holds a search box (on the Install and Tweaks tabs), a theme switcher, and a settings menu.
| Tab | Shortcut | What it does |
|---|---|---|
| Install | Alt + I |
Browse and install/uninstall applications via WinGet or Chocolatey. |
| Tweaks | Alt + T |
Apply privacy/performance tweaks, presets, and DNS changes. |
| Config | Alt + C |
Enable Windows features, run fixes, open legacy panels, set up remote access. |
| Updates | Alt + U |
Choose a Windows Update policy (Default / Security / Disabled). |
| Win11ISO | Alt + W |
Build a custom, debloated Windows 11 install ISO or USB (MicroWin). |
Keyboard shortcuts
| Shortcut | Action |
|---|---|
Alt + I / T / C / U / W |
Jump to Install / Tweaks / Config / Updates / Win11ISO |
Ctrl + F |
Focus the search bar (Install and Tweaks tabs) |
Esc |
Clear the search box |
Ctrl + Q |
Close WinUtil |
| Double-click title bar | Maximize / restore the window |
Tip
Shortcuts are ignored while a task is running, so you can't accidentally start a second operation mid-install.
Theme and settings
- The theme button (top bar) offers Auto, Dark, and Light. Auto follows the Windows system theme and updates live when you change it.
- The settings (gear) menu holds Import, Export, About, Documentation, and Sponsor.
- A font scaling slider lets you enlarge or shrink the UI text (50%–… with a Reset to 100%).
4. Installing Applications (Install Tab)
The Install tab is a curated catalog of popular Windows apps, grouped into categories such as Browsers, Communications, Development, Games, Microsoft Tools, Multimedia Tools, Pro Tools, Selfhosted Tools, and Utilities. Each app is installed cleanly from its official source — no bundled toolbars or bloatware.
Choose your package manager
At the top of the Install tab, pick the engine used for installs:
| Option | Notes |
|---|---|
| WinGet | Default. Windows Package Manager. |
| Chocolatey | Alternative. WinUtil installs Chocolatey automatically if needed. |
Your choice is remembered across sessions. If an app has no Chocolatey package (marked na), WinUtil automatically falls back to WinGet for that app even when Chocolatey is selected.
Select and install apps
- Press
Alt + Ito open the Install tab. - Browse the categories, or press
Ctrl + Fand type to search by name or description. - Tick the checkbox for each app you want. The Selected Apps button updates its count (e.g.
Selected Apps: 3); click it to see and remove individual selections. - Click Install/Upgrade Applications.
===========================================
-- Installs have finished ---
===========================================
Tip
Apps that are free and open-source (FOSS) are highlighted in green when the Highlight FOSS toggle is on (it is on by default). Toggle it off to remove the highlight.
If an app is already installed, the install action upgrades it to the latest version when one is available.
Right-click any app
Right-click an app entry for a quick menu with three actions:
| Icon action | What it does |
|---|---|
| Install | Install or upgrade just that one app immediately. |
| Uninstall | Uninstall just that one app. |
| Info | Open the app's official website in your browser. |
Other Install-tab actions
| Button | Action |
|---|---|
| Uninstall Applications | Uninstall all selected apps (asks for confirmation first). |
| Upgrade all Applications | Upgrade every installed app via winget upgrade --all (or choco upgrade all). |
| Show Installed Apps | Tick the boxes for apps already on your system. |
| Clear Selection | Clear all checkboxes. |
| Collapse All / Expand All Categories | Fold or unfold the category list. |
Warning
Upgrade all Applications opens a separate PowerShell window and upgrades everything WinGet/Chocolatey knows about, including apps you didn't install through WinUtil. This is intentional but can be noisy.
Note
WinUtil focuses on installing apps. There is no full uninstall-everything GUI — use the per-app right-click Uninstall, the Uninstall Applications button for selected apps, or Windows Settings → Apps for anything else.
5. Tweaking Windows (Tweaks Tab)
The Tweaks tab applies privacy, debloat, and performance changes. It is split into:
- Essential Tweaks — safe, broadly recommended changes (checkboxes).
- Advanced Tweaks – CAUTION — aggressive changes that can break functionality (checkboxes).
- Customize Preferences — quality-of-life toggles (on/off switches).
- Performance Plans — power-plan helpers (not for laptops).
Apply a recommended preset
Instead of picking tweaks one by one, use a preset to tick a curated set of Essential Tweaks:
| Preset | Best for |
|---|---|
| Standard | Balanced defaults for most users. |
| Minimal | The lightest touch — minimal changes suitable for everyone. |
| Advanced | Deeper debloat for power users (adds Widget removal, OneDrive removal, Windows AI disable, classic right-click menu, and more). |
Click a preset to replace your current tweak selection, review the ticked boxes, then click Run Tweaks.
Tip
A preset only selects checkboxes — nothing is applied until you click Run Tweaks. Review the selection first, especially with Advanced.
Run and undo tweaks
- Tick the tweaks you want (or apply a preset).
- Click Run Tweaks. A progress bar shows each tweak as it applies.
- To revert, tick the same tweaks and click Undo Selected Tweaks — WinUtil restores the original values.
=================================
-- Tweaks are Finished ---
=================================
Tip
Keep Create Restore Point ticked (it is part of the Standard and Advanced presets). WinUtil creates the restore point first, before any other tweak, so you always have a rollback path.
Customize Preferences (toggles)
These are instant on/off switches — flipping a toggle applies the change immediately (and flipping it back undoes it). They include:
| Toggle | Effect |
|---|---|
| Dark Theme for Windows | Switch Windows to dark mode |
| File Explorer File Extensions | Show known file extensions |
| File Explorer Hidden Files | Show hidden files |
| Taskbar Centered Icons | Center or left-align taskbar icons |
| Taskbar Search Icon / Task View Icon | Show/hide taskbar buttons |
| Start Menu Bing Search | Disable web/Bing results in Start search |
| Start Menu Recommendations | Hide the recommended section |
| System Tray Battery Percentage | Show battery percentage |
| Mouse Acceleration | Enable/disable pointer precision |
| Sticky Keys | Enable/disable Sticky Keys |
| Num Lock on Startup | Force NumLock at boot |
| Game Mode | Toggle Windows Game Mode |
| Enable Long Paths | Allow paths longer than 260 characters |
| Verbose Logon / BSoD Verbose Mode | Show detailed logon and crash info |
| ...and more | (Outlook new version, scrollbars, sleep modes, etc.) |
Note
Some Essential and Advanced tweaks (for example, removing widgets or reverting the Start menu) download and run small helper tools or restart Explorer. WinUtil tells you in the output panel and may ask you to restart for changes to take effect.
Change your DNS
In the Advanced Tweaks section, the DNS – Set to: dropdown points all active network adapters at a chosen provider (both IPv4 and IPv6):
| Option | Provider |
|---|---|
Default |
Leave DNS unchanged |
DHCP |
Reset to automatic (DHCP-assigned) DNS |
Google |
8.8.8.8 / 8.8.4.4 |
Cloudflare |
1.1.1.1 / 1.0.0.1 |
Cloudflare_Malware |
1.1.1.2 (blocks malware) |
Cloudflare_Malware_Adult |
1.1.1.3 (blocks malware + adult content) |
Open_DNS |
208.67.222.222 / 208.67.220.220 |
Quad9 |
9.9.9.9 |
AdGuard_Ads_Trackers |
94.140.14.14 (blocks ads/trackers) |
AdGuard_Ads_Trackers_Malware_Adult |
94.140.14.15 (blocks ads/trackers/malware/adult) |
Pick a provider and click Run Tweaks. The DNS change is applied alongside any other selected tweaks.
Other Tweaks-tab tools
| Button | Action |
|---|---|
| Ultimate Performance Profile – Enable / Disable | Add or remove the "Ultimate Performance" power plan. Not for laptops. |
| O&O ShutUp10++ – Run | Download and launch the popular O&O ShutUp10++ privacy tool. |
| Clear Tweaks Selection | Untick all tweaks. |
6. Fixing & Configuring Windows (Config Tab)
The Config tab groups one-click Features, Fixes, Legacy Windows Panels, PowerShell Profile, and Remote Access actions. Click a button to run it.
Features (enable optional Windows components)
| Button | Enables |
|---|---|
| .NET Framework (2, 3, 4) | Legacy .NET Framework features |
| Hyper-V | Microsoft's hardware virtualization |
| Windows Subsystem for Linux (WSL) | Run Linux natively on Windows |
| Network File System (NFS) | NFS client + configures anonymous access |
| Windows Sandbox | Disposable isolated desktop |
| Registry Backup (Daily 12:30am) | Re-enables periodic registry backups |
| Legacy F8 Boot Recovery – Enable / Disable | Advanced Boot Options menu |
| Install Features | Apply the selected feature checkboxes |
Fixes (repair broken Windows components)
| Button | What it does |
|---|---|
| Windows Update – Reset | Stops update services, clears caches, re-registers DLLs, resets policies, and restarts updates. |
| Network – Reset | netsh winsock reset + netsh int ip reset (restart afterward). |
| System Corruption Scan – Run | Runs chkdsk, sfc /scannow, and DISM /RestoreHealth. |
| WinGet – Reinstall | Repairs or reinstalls WinGet. |
| NTP Server – Enable | Switches time sync to pool.ntp.org. |
| AutoLogon – Run | Downloads Sysinternals Autologon to set up automatic sign-in. |
Legacy Windows Panels
One-click shortcuts to classic control panels: Control Panel, Computer Management, Network Connections, Power Panel, Printer Panel, Region, Windows Restore, Sound Settings, System Properties, and Time and Date.
PowerShell Profile & Remote Access
| Button | What it does |
|---|---|
| CTT PowerShell Profile – Install / Remove | Installs (or removes, restoring your backup) Chris Titus Tech's PowerShell 7 profile. |
| OpenSSH Server – Enable | Installs and enables the Windows OpenSSH server. |
Caution
Enabling OpenSSH Server opens your machine to remote SSH connections. Only do this on trusted networks and ensure strong account passwords.
7. Controlling Windows Update (Updates Tab)
Three mutually exclusive policies:
| Button | Result |
|---|---|
| Default Updates | Restores Windows Update to stock behavior (removes WinUtil's update policies, re-enables services and scheduled tasks). |
| Security Updates | Installs security patches but defers feature updates 365 days and quality updates 4 days. |
| Disable Updates | Blocks all updates, including security. Not recommended. |
Warning
Disable Updates stops security patches and clears the SoftwareDistribution folder. Use it only temporarily and re-enable updates (Default Updates) as soon as possible. A restart is required for changes to take effect.
8. Building a Custom Windows 11 ISO (Win11ISO / MicroWin)
The Win11ISO tab (MicroWin) lets you create a slimmed-down, debloated Windows 11 installation image — useful for clean installs without preinstalled bloat.
Typical workflow:
- [ ] Download a Windows 11 ISO (a button links to Microsoft's official download page) or Browse to one you already have.
- [ ] Mount & Verify the ISO so WinUtil can read its contents.
- [ ] Modify the image — WinUtil removes AppX bloatware and OneDrive, applies offline privacy/OOBE/telemetry/update tweaks, and (optionally) injects your current system's drivers.
- [ ] Export the modified image to a new ISO file, or write it directly to a USB drive.
Important
MicroWin modifies a copy of the Windows image offline (it never touches your running system). Building an ISO needs significant free disk space and time, and the optional driver injection further increases both.
Note
MicroWin can write an autounattend.xml answer file into the image to bypass OOBE prompts (hardware checks, Microsoft account requirement, etc.) for a hands-off install.
9. Automating WinUtil (Presets, Config Files & Unattended Runs)
WinUtil can run without the GUI for scripted or repeat deployments. Pass parameters to the downloaded script using the & ([ScriptBlock]::Create(...)) pattern.
Run a preset directly
& ([ScriptBlock]::Create((irm https://christitus.com/win))) -Preset Standard
This applies the chosen preset's tweaks. -Preset accepts Standard, Minimal, or Advanced.
Export and reuse a configuration
-
Set up your apps/tweaks/toggles/features in the GUI.
-
Open the settings (gear) menu → Export and save a
.jsonfile. -
WinUtil copies a ready-to-run command to your clipboard, for example:
iex "& { $(irm https://christitus.com/win) } -Config 'C:\Users\You\Desktop\winutil.json'" -
Run that command on any machine to reproduce the same configuration. Import (settings menu) loads a
.jsonfrom a file or URL.
Command-line parameters
| Parameter | Values | Purpose |
|---|---|---|
-Config |
path or URL to a .json |
Apply an exported configuration. |
-Preset |
Standard | Minimal | Advanced |
Apply a built-in preset. |
-Noui |
switch | Run without opening the GUI (requires -Config to know what to do). |
-Offline |
switch | Start in offline mode — disables the Install tab and install buttons. |
Tip
Combine
-Configand-Nouifor fully unattended runs across multiple PCs:& ([ScriptBlock]::Create((irm https://christitus.com/win))) -Config 'C:\winutil.json' -Noui
10. Troubleshooting
WinUtil writes a full transcript of every session to %LocalAppData%\winutil\logs\winutil_<date>_<time>.log. Check there first when something fails.
Error: The term '<' is not recognized as the name of a cmdlet...
- Cause: The download was corrupted or blocked, so the browser/HTML was piped into PowerShell instead of the script.
- Solution: Use a VPN, or download directly from GitHub:
irm https://github.com/ChrisTitusTech/winutil/releases/latest/download/winutil.ps1 | iex - Prevention: Run from the official source on a stable connection.
Error: WinUtil is unable to run on your system, powershell execution is restricted by security policies
- Cause: Your PowerShell session is in Constrained Language Mode. WinUtil requires FullLanguage mode.
- Solution: Run WinUtil from a standard, unrestricted Administrator PowerShell session (not a locked-down/AppLocker-constrained one).
- Prevention: On managed/corporate devices, check with your administrator about language-mode policies.
Error: Winutil needs to be run as Administrator
- Cause: WinUtil was launched from a non-elevated shell.
- Solution: It will attempt to relaunch itself elevated — accept the UAC prompt. Or open Terminal (Admin) first.
- Prevention: Always start from an Administrator terminal.
Error: Execution Policy prevents the script from running
- Cause: Script execution is restricted in the current session.
- Solution:
This affects only the current session and is safe.Set-ExecutionPolicy Unrestricted -Scope Process -Force irm https://christitus.com/win | iex
The script won't download
- Force TLS 1.2, then retry (rarely needed on Windows 11):
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 irm https://christitus.com/win | iex - Change your DNS to Cloudflare (1.1.1.1) or Google (8.8.8.8), or use a VPN if GitHub is blocked in your region.
WinUtil won't open after running the command
- Antivirus blocking — add a PowerShell exception (see below).
- Not run as Admin — restart PowerShell elevated.
- Corrupted download — close PowerShell, reopen, and try again.
My antivirus flags WinUtil as malicious
This is a false positive. WinUtil makes the kind of system changes that heuristic AV flags. The code is open source and auditable on GitHub. Add an exception if needed, and only ever run WinUtil from the official repository.
An application failed to install
- Check your internet connection.
- Try installing just that one app (right-click → Install).
- Read the error in the output panel.
- Check whether antivirus is blocking it.
- Use Config → Fixes → WinGet – Reinstall, then retry.
Network tweaks broke my internet connection
- Open WinUtil → Config → Fixes → Network – Reset.
- Restart your computer.
A tweak broke something
- Reopen WinUtil → Tweaks tab.
- Tick the same tweak(s) you applied.
- Click Undo Selected Tweaks.
- If that doesn't help, use System Restore (if you created a restore point).
Known issues from the community
These are real, currently open issues reported on GitHub — check them if you hit the same:
| Issue | Symptom |
|---|---|
| #4145 | Debloated Windows 11 ISO fails to verify product key |
| #4610 | "Start Menu Previous Layout" tweak no longer works |
| #4556 | Windows Update not re-enabling |
| #4543 | Taskbar alignment from settings broken |
| #4616 | install.wim — can't create modified .iso |
| #4542 | Win11 Creator stops at "Copying ISO contents" |
11. Frequently Asked Questions
Q: Do I need to install WinUtil? No. It's a PowerShell script that runs from memory while the window is open and disappears when you close it. There is nothing to uninstall.
Q: Is WinUtil safe? Yes — it's open source and used daily by thousands. Still, run it as Administrator, create a restore point before big changes, understand the tweaks you apply, and only run it from the official source.
Q: Does WinUtil work on Windows 10? No. Windows 10 support ended on October 14, 2025. WinUtil focuses on Windows 11. It also runs on Windows Server and LTSC editions with some caveats.
Q: Does WinUtil need internet access? For downloading apps, yes. Most tweaks work offline. The initial run always needs internet to fetch the latest script.
Q: How do I keep WinUtil up to date?
It auto-downloads the latest version each time you run the irm command — there's nothing to update manually.
Q: Will my tweaks survive Windows Updates? Most do, but major feature updates can reset some. Reapply them afterward if needed.
Q: Can I make my own preset?
The GUI offers three built-in presets (Standard, Minimal, Advanced). For custom configurations, set up your selections, Export them to a .json, and reuse that file with -Config.
Q: Do installed apps include bloatware? No. WinGet and Chocolatey install clean versions from official sources without bundled offers or toolbars.
Q: Can I run WinUtil on many PCs automatically?
Yes — export a config and run it with -Config (optionally -Noui) on each machine. See Automating WinUtil.
Q: Does WinUtil collect any data? No. WinUtil itself collects and transmits nothing; it's a local script. (The Telemetry tweak additionally disables Windows' own diagnostic data, activity history, feedback, and usage statistics.)
Q: How much memory does WinUtil use? Roughly 50–100 MB while open; nothing once closed.
Q: Should I disable Windows Updates? Generally no — security updates matter. Prefer Security Updates over Disable Updates if you want to avoid feature updates.
Q: Where do I get help? Official docs, the Discord community, and GitHub Issues. There's also a YouTube walkthrough.
12. Reference
Launch commands
| Command | Purpose |
|---|---|
irm https://christitus.com/win | iex |
Run the stable build |
irm https://christitus.com/windev | iex |
Run the development build |
irm https://github.com/ChrisTitusTech/winutil/releases/latest/download/winutil.ps1 | iex |
Run directly from GitHub (fallback) |
& ([ScriptBlock]::Create((irm https://christitus.com/win))) -Preset Standard |
Run with a preset |
iex "& { $(irm https://christitus.com/win) } -Config '<file>'" |
Run with an exported config |
Tabs at a glance
| Tab | Shortcut | Purpose |
|---|---|---|
| Install | Alt+I |
Install/uninstall/upgrade apps |
| Tweaks | Alt+T |
Privacy/performance tweaks, presets, DNS |
| Config | Alt+C |
Features, fixes, legacy panels, remote access |
| Updates | Alt+U |
Windows Update policy |
| Win11ISO | Alt+W |
Build a custom Windows 11 ISO (MicroWin) |
Presets
| Preset | Intent |
|---|---|
| Standard | Balanced defaults for most users |
| Minimal | Lightest set of changes |
| Advanced | Deep debloat for power users |
Key file locations
| Path | Contents |
|---|---|
%LocalAppData%\winutil\ |
WinUtil working directory |
%LocalAppData%\winutil\logs\winutil_<date>.log |
Per-session transcript log |
Useful links
- Official documentation: https://winutil.christitus.com/
- Source code: https://github.com/ChrisTitusTech/winutil
- Report an issue: https://github.com/ChrisTitusTech/winutil/issues
- Community Discord: https://discord.gg/RUbZUZyByQ