ShellEx.info

How to Disable Shell Extensions on Windows 11 (Complete 2026 Guide)

Updated February 2026 — Windows 11 24H2

Whether you are troubleshooting a slow context menu, fixing Explorer crashes, or just cleaning up bloat, this guide covers every method for disabling shell extensions on Windows 11 — from beginner-friendly GUI tools to advanced registry and PowerShell techniques.


Understanding Windows 11’s Two-Layer Context Menu

Windows 11 introduced a completely redesigned context menu that affects how shell extensions work:

The New Menu (First Click)

When you right-click a file, you see the new streamlined menu with modern apps (Open, Copy, Rename, Delete). This menu only shows extensions that use the new IExplorerCommand interface.

The Classic Menu (“Show more options”)

Clicking “Show more options” (or pressing Shift+F10) reveals the old-style full context menu with all legacy IContextMenu handlers — 7-Zip, WinRAR, Git, etc.

What This Means for Disabling Extensions


ShellExView is the easiest and safest way to disable extensions:

Setup

  1. Download from NirSoft (get the 64-bit version).
  2. Extract the ZIP file (no installation required).
  3. Right-click shexview.exeRun as Administrator.

Disabling Extensions

  1. Wait for the list to populate (may take 10-30 seconds on first load).
  2. Click Options → Hide All Microsoft Extensions to focus on third-party entries.
  3. Select the extension(s) you want to disable.
  4. Press F7 or right-click → Disable Selected Items.
  5. Go to Options → Restart Explorer.
  6. Test your right-click menu.

Bulk Operations

What Each Column Means

ColumnDescription
Extension NameDisplay name of the handler
TypeContext Menu, Property Sheet, Icon Overlay, etc.
CompanyPublisher of the DLL
File NameDLL filename
CLSIDUnique COM class identifier
DisabledYes/No — current status

Method 2: Autoruns (For Power Users)

Sysinternals Autoruns goes deeper than ShellExView:

  1. Download from Sysinternals.
  2. Run Autoruns64.exe as Administrator.
  3. Click the Explorer tab.
  4. Uncheck any entry to disable it.
  5. Changes take effect after Explorer restart.

When to Use Autoruns Instead of ShellExView


Method 3: Registry Editor (Manual)

For precise control, edit the registry directly:

Warning: Always back up registry keys before modifying them. Right-click the key → Export.

Disable a Specific Context Menu Handler

  1. Press Win + R, type regedit, press Enter.
  2. Navigate to:
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
  1. Find the subkey for the extension you want to disable.
  2. Right-click → Export (backup).
  3. Right-click → Delete.
  4. Restart Explorer.

Restore the Classic Full Context Menu

If you want ALL legacy extensions to appear in the first right-click (no “Show more options”):

reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

Restart Explorer. To revert:

reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f

Disable Icon Overlay Handlers

Icon overlays are registered under:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

Windows has a 15-overlay limit. To disable specific overlays, rename the key by adding a ~ prefix (this is how ShellExView does it internally).


Method 4: PowerShell (Script-Based)

List All Extensions and Their Status

$handlers = @()
$regPaths = @(
    "Registry::HKCR\*\shellex\ContextMenuHandlers",
    "Registry::HKCR\Directory\shellex\ContextMenuHandlers",
    "Registry::HKCR\Directory\Background\shellex\ContextMenuHandlers"
)

foreach ($path in $regPaths) {
    Get-ChildItem $path -EA SilentlyContinue | ForEach-Object {
        $clsid = $_.GetValue("")
        $inproc = "Registry::HKCR\CLSID\$clsid\InprocServer32"
        $dll = if (Test-Path $inproc) { (Get-ItemProperty $inproc -EA SilentlyContinue)."(default)" } else { "N/A" }
        $handlers += [PSCustomObject]@{
            Name = $_.PSChildName
            DLL = Split-Path $dll -Leaf -EA SilentlyContinue
            Location = $path.Split('\')[-1]
        }
    }
}

$handlers | Sort-Object Name | Format-Table -AutoSize
Write-Host "`nTotal: $($handlers.Count) handlers"

Batch Disable by Company Name

# Disable all extensions from a specific company (e.g., NVIDIA)
$targetCompany = "NVIDIA"

Get-ChildItem "Registry::HKCR\*\shellex\ContextMenuHandlers" -EA SilentlyContinue | ForEach-Object {
    $clsid = $_.GetValue("")
    $inproc = "Registry::HKCR\CLSID\$clsid\InprocServer32"
    if (Test-Path $inproc) {
        $dll = (Get-ItemProperty $inproc -EA SilentlyContinue)."(default)"
        if ($dll -and (Test-Path $dll)) {
            $info = (Get-Item $dll).VersionInfo
            if ($info.CompanyName -like "*$targetCompany*") {
                Write-Host "Found: $($_.PSChildName) -> $dll" -ForegroundColor Yellow
                # Uncomment the next line to actually disable:
                # Rename-Item $_.PSPath -NewName "~$($_.PSChildName)"
            }
        }
    }
}

What NOT to Disable

Some extensions are critical for Windows functionality:

ExtensionWhat Happens If Disabled
Microsoft.Windows.ShellExtensionsCore Windows Shell breaks
Open With”Open with…” option disappears
SharingShare menu stops working
SendTo”Send to” menu disappears
Pin to Quick AccessCannot pin folders
Windows SecuritySecurity scanning from context menu lost

Rule of thumb: If the Company is “Microsoft Corporation” or “Microsoft Windows”, leave it enabled.


Troubleshooting

Extensions Keep Re-Enabling

Some software re-registers its extensions on startup. Fix:

  1. Open Autoruns → Logon tab
  2. Find and disable the software’s startup entry
  3. The extension will no longer re-register after reboot

”Access Denied” When Disabling

Run ShellExView or regedit as Administrator. Some extensions require HKLM level changes that need elevated permissions.

Disabled Extension Still Appears in Menu

  1. Restart Explorer (taskkill /f /im explorer.exe then start explorer)
  2. If it persists, sign out and sign back in
  3. Last resort: restart the computer

Frequently Asked Questions

Q: Is disabling an extension the same as uninstalling it? A: No. Disabling simply prevents Explorer from loading the DLL. The DLL file and registry entry still exist. You can re-enable it any time.

Q: How do I know which extension is causing my problem? A: Disable all non-Microsoft extensions, confirm the problem is gone, then re-enable them one by one. Our troubleshooting guide covers this in detail.

Q: Do disabled extensions use any resources? A: No. A disabled extension is not loaded into memory at all. Zero CPU, zero RAM impact.

Need a visual tool to manage extensions?

See our comparison of the best shell extension managers for 2026.

View Best Managers