A dotnet tool that removes the bloat in Windows 11
Ensure dotnet CLI is installed.
Install WinDebloat
dotnet tool install -g WinDebloat
dotnet tool update -g WinDebloat
WinDebloat
Items can be excluded by using the --exclude
argument:
WinDebloat --exclude AdvertiserId Xbox
Ids are case insensitive.
Ids for each item are listed below.
Id to toggle behavior: AdvertiserId
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo" -Name "Enabled" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo" -Name "Enabled" -Type "DWord" -Value "1"
Notes:
Id to toggle behavior: Camera
Uninstalls Windows Camera
using winget.
Command to manually apply:
winget uninstall --name "Windows Camera" --exact
Id to toggle behavior: Chat
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "TaskbarMn" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "TaskbarMn" -Type "DWord" -Value "1"
Id to toggle behavior: Clipchamp
Uninstalls Clipchamp
using winget.
Command to manually apply:
winget uninstall --name "Clipchamp" --exact
Id to toggle behavior: Cortana
Uninstalls Cortana
using winget.
Command to manually apply:
winget uninstall --name "Cortana" --exact
Id to toggle behavior: DeveloperMode
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Appx" -Name "AllowDevelopmentWithoutDevLicense" -Type "DWord" -Value "1"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Appx" -Name "AllowDevelopmentWithoutDevLicense" -Type "DWord" -Value "0"
Notes:
Id to toggle behavior: EdgeDesktopSearchBar
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge" -Name "WebWidgetAllowed" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge" -Name "WebWidgetAllowed" -Type "DWord" -Value "1"
Id to toggle behavior: FeedbackHub
Uninstalls Feedback Hub
using winget.
Command to manually apply:
winget uninstall --name "Feedback Hub" --exact
Id to toggle behavior: FileExtensions
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Type "DWord" -Value "1"
Id to toggle behavior: Games
Uninstalls Solitaire & Casual Games
using winget.
Command to manually apply:
winget uninstall --name "Solitaire & Casual Games" --exact
Id to toggle behavior: GetHelp
Uninstalls Get Help
using winget.
Command to manually apply:
winget uninstall --name "Get Help" --exact
Id to toggle behavior: LockScreenAds
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Name "RotatingLockScreenOverlayEnabled" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Name "RotatingLockScreenOverlayEnabled" -Type "DWord" -Value "1"
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Name "SubscribedContent-338387Enabled" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Name "SubscribedContent-338387Enabled" -Type "DWord" -Value "1"
Id to toggle behavior: MailandCalendar
Uninstalls Mail and Calendar
using winget.
Command to manually apply:
winget uninstall --name "Mail and Calendar" --exact
Id to toggle behavior: Maps
Uninstalls Windows Maps
using winget.
Command to manually apply:
winget uninstall --name "Windows Maps" --exact
Id to toggle behavior: MediaPlayer
Uninstalls Windows Media Player
using winget.
Command to manually apply:
winget uninstall --name "Windows Media Player" --exact
Id to toggle behavior: MixedRealityPortal
Uninstalls Mixed Reality Portal
using winget.
Command to manually apply:
winget uninstall --name "Mixed Reality Portal" --exact
Id to toggle behavior: MoviesandTV
Uninstalls Movies & TV
using winget.
Command to manually apply:
winget uninstall --name "Movies & TV" --exact
Id to toggle behavior: News
Uninstalls News
using winget.
Command to manually apply:
winget uninstall --name "News" --exact
Id to toggle behavior: OneNote
Uninstalls OneNote for Windows 10
using winget.
Command to manually apply:
winget uninstall --name "OneNote for Windows 10" --exact
Id to toggle behavior: Pay
Uninstalls Microsoft Pay
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Pay" --exact
Id to toggle behavior: Paint
Uninstalls Paint
using winget.
Command to manually apply:
winget uninstall --name "Paint" --exact
Installs paint.net
using winget.
Command to manually apply:
winget install --name "paint.net" --exact
Id to toggle behavior: People
Uninstalls Microsoft People
using winget.
Command to manually apply:
winget uninstall --name "Microsoft People" --exact
Id to toggle behavior: Photos
Uninstalls Microsoft Photos
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Photos" --exact
Id to toggle behavior: PowerAutomate
Uninstalls Power Automate
using winget.
Command to manually apply:
winget uninstall --name "Power Automate" --exact
Id to toggle behavior: PowerShelUnrestricted
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" -Name "ExecutionPolicy" -Type "DWord" -Value "Unrestricted"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" -Name "ExecutionPolicy" -Type "DWord" -Value "String"
Id to toggle behavior: Paint3D
Uninstalls Paint 3D
using winget.
Command to manually apply:
winget uninstall --name "Paint 3D" --exact
Id to toggle behavior: Skype
Uninstalls Skype
using winget.
Command to manually apply:
winget uninstall --name "Skype" --exact
Id to toggle behavior: StartupBoost
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge" -Name "StartupBoostEnabled" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge" -Name "StartupBoostEnabled" -Type "DWord" -Value "1"
Id to toggle behavior: StartMenuRecommendations
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer" -Name "HideRecommendedSection" -Type "DWord" -Value "1"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer" -Name "HideRecommendedSection" -Type "DWord" -Value "0"
Id to toggle behavior: StickyNotes
Uninstalls Microsoft Sticky Notes
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Sticky Notes" --exact
Id to toggle behavior: TaskBarSearch
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search" -Name "SearchboxTaskbarMode" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search" -Name "SearchboxTaskbarMode" -Type "DWord" -Value "1"
Id to toggle behavior: TaskView
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "ShowTaskViewButton" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "ShowTaskViewButton" -Type "DWord" -Value "1"
Id to toggle behavior: Teams
Uninstalls Teams Machine-Wide Installer
using winget.
Command to manually apply:
winget uninstall --name "Teams Machine-Wide Installer" --exact
Id to toggle behavior: Telemetry
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "Allow Telemetry" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "Allow Telemetry" -Type "DWord" -Value "1"
Id to toggle behavior: Tips
Uninstalls Microsoft Tips
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Tips" --exact
Id to toggle behavior: ToDo
Uninstalls Microsoft To Do
using winget.
Command to manually apply:
winget uninstall --name "Microsoft To Do" --exact
Id to toggle behavior: Weather
Uninstalls MSN Weather
using winget.
Command to manually apply:
winget uninstall --name "MSN Weather" --exact
Id to toggle behavior: WebExperiencePack
Uninstalls Windows Web Experience Pack
using winget.
Command to manually apply:
winget uninstall --name "Windows Web Experience Pack" --exact
Id to toggle behavior: WebSearch
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Explorer" -Name "DisableSearchBoxSuggestions" -Type "DWord" -Value "1"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Explorer" -Name "DisableSearchBoxSuggestions" -Type "DWord" -Value "0"
Id to toggle behavior: Whiteboard
Uninstalls Microsoft Whiteboard
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Whiteboard" --exact
Id to toggle behavior: Widgets
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "TaskbarDa" -Type "DWord" -Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "TaskbarDa" -Type "DWord" -Value "1"
Id to toggle behavior: Xbox
Uninstalls Xbox TCUI
using winget.
Command to manually apply:
winget uninstall --name "Xbox TCUI" --exact
Uninstalls Xbox Console Companion
using winget.
Command to manually apply:
winget uninstall --name "Xbox Console Companion" --exact
Uninstalls Xbox Game Bar Plugin
using winget.
Command to manually apply:
winget uninstall --name "Xbox Game Bar Plugin" --exact
Uninstalls Xbox Identity Provider
using winget.
Command to manually apply:
winget uninstall --name "Xbox Identity Provider" --exact
Uninstalls Xbox Game Speech Window
using winget.
Command to manually apply:
winget uninstall --name "Xbox Game Speech Window" --exact
Uninstalls Xbox Game Bar
using winget.
Command to manually apply:
winget uninstall --name "Xbox Game Bar" --exact
Uninstalls Xbox Accessories
using winget.
Command to manually apply:
winget uninstall --name "Xbox Accessories" --exact
Uninstalls Xbox
using winget.
Command to manually apply:
winget uninstall --name "Xbox" --exact
- winget
- https://winget.run. An online registry of winget packages.
- ExplorerPatcher. A helpful to use in conjunction with this project to make Windows more usable.
- Setting a single registry entry using PowerShell
Elephant designed by Icons Producer from The Noun Project.
Unit tests should be run with elevated privileges