A PowerShell tool to scan, diagnose, and fix broken Windows right-click context menu entries. Removes clutter from programs that left behind registry entries, detects cloud service conflicts (OneDrive, Dropbox, Google Drive, iCloud, Box, MEGA), manages ShellNew templates, and generates detailed HTML reports — all without installing anything. Advanced Windows Explorer context menu diagnostics and reporting tool. Windows right-click context menu diagnostic and repair tool. Identifies slow, broken, and problematic shell extensions that cause delays, hangs, and crashes.
Free for personal use. Commercial use requires a paid license. See LICENSE file.
- Windows Windows 7, 10, or 11 (any edition), Server 2019
- PowerShell 3.0 or later (built into Windows 7 SP1+)
- Administrator recommended (required for disable/enable operations)
• Detects problematic shell extensions • Identifies registry inconsistencies • Flags known Explorer crash causes • Generates detailed diagnostic reports
• IT support teams • Desktop engineering • Troubleshooting persistent Explorer issues • Pre-rebuild system analysis
The tool generates a structured diagnostic report suitable for internal documentation and escalation.
Diagnose and fix slow Windows Explorer right-click context menus.
Your right-click takes 10, 15, even 30+ seconds? Task Manager shows nothing wrong? This tool finds the exact cause — shell extension handlers that load one-by-one on the UI thread — and lets you safely disable the slow ones with full backup and undo.
When you right-click a file in Windows Explorer, the OS loads every registered context menu handler DLL in sequence. Each one runs on the single-threaded UI apartment (STA), so they block each other. If any handler is broken, slow, or tries to reach an unreachable cloud server, it adds its full timeout to your right-click delay.
Context Menu Doctor:
- Scans all 10+ registry locations where context menu handlers are registered
- Identifies each handler's CLSID, DLL path, publisher, and known issues
- Benchmarks each handler's load time in milliseconds (COM instantiation timing)
- Scores risk from SAFE to BROKEN based on known offenders, signatures, and DLL status
- Disables problematic handlers safely (reversible, with backup)
- Restores everything with session-scoped undo or full restore from backups
Beyond shell extensions, it runs 10 additional diagnostics covering icon overlays, cloud connectivity, DNS, antivirus interference, offline files, and more.
# Option 1: Run directly (if execution policy allows)
.\ContextMenuDoctor.ps1
# Option 2: Bypass execution policy
powershell -ExecutionPolicy Bypass -File ContextMenuDoctor.ps1Run as Administrator for full functionality. The tool offers auto-elevation at startup.
| Option | Name | What it does |
|---|---|---|
| 1 | View third-party | Default view. Shows non-Microsoft handlers with risk scores and DLL paths. |
| 2 | View ALL | Shows all handlers including Microsoft/Windows built-in. |
| 3 | Detail view | Full details for a handler: CLSID, DLL, company, version, Authenticode signature. |
| Option | Name | What it does |
|---|---|---|
| B | Benchmark | Times each handler's DLL load via COM instantiation. Total ≈ actual right-click delay. |
| BA | Benchmark ALL | Same as B but includes Microsoft handlers. |
| S | Binary Search | Automated guided hunt. Disables half, you test, it narrows down. ~5 rounds to pinpoint the culprit. |
| T | Quick Test | Blanket-disables all third-party handlers, you test right-click, then re-enables all. Confirms whether handlers are the cause. |
| V | Verify Signatures | Batch Authenticode check on all handler DLLs. Flags unsigned or tampered files. |
| X | Extended Diagnostics | 13 checks beyond shell extensions: icon overlays, Quick Access, ShellNew, thumbnail cache, cloud connectivity, DNS, AV, Offline Files, system performance, proxy/firewall, dead verb commands, Open With cleanup, Explorer health. |
| Option | Name | What it does |
|---|---|---|
| 5 | Disable | Blanks CLSID value for a handler (instant, reversible). Creates .reg backup. |
| 5R | Rename-disable | Renames the registry key with -DISABLED suffix. Stronger — survives app re-registration. |
| 5F | Force-disable | Disables Microsoft handlers with safety checks. Detects related services, warns about feature loss. |
| 6 | Enable | Re-enables a previously disabled handler. |
| 7 | Auto-Fix | Disables all BROKEN + HIGH risk handlers in one go. |
| 8 | Undo session | Re-enables handlers disabled in THIS run only. |
| 8A | Undo ALL | Re-enables everything ever disabled by this tool across all sessions. |
| P | Persistence | Scans scheduled tasks, Run keys, services, and COM AppID for sources that re-register handlers. Shows commands to disable each. |
| O | Icon Overlays | Manages icon overlay handlers (sync badges). Windows has a 15-overlay limit that causes slow folder loads. |
| Option | Name | What it does |
|---|---|---|
| G | Google Drive | Health check + restart for hung Google DriveFS. Detects not-responding, functional hangs, memory leaks. |
| OD | OneDrive | Health check + restart for OneDrive. Detects dead/hung process, memory issues, kills and relaunches. |
| DB | Dropbox | Health check + restart for Dropbox. Same pattern as G and OD. |
| C | Others | Sub-menu for iCloud, Box Drive, Nextcloud, pCloud, MEGA, Synology Drive. Auto-detects installed services, shows status, offers restart. |
| Option | Name | What it does |
|---|---|---|
| K | Create backup | Exports all handler registry keys to .reg files. |
| L | List / Restore | Shows full and handler backups. Restore from any backup point. |
| W | Style | Context Menu Appearance & Style: Win11 classic/modern toggle, popup delay, animation, dark/light mode, transparency. |
| SN | ShellNew | Manage right-click → "New" submenu entries. List, disable, re-enable bloated items. |
| CM | Cascade | Cascading menu depth audit. Detects nested flyout submenus, deep nesting, and dead sub-commands. |
| RT | Timer | Measure total right-click response time. Before/after comparison with history tracking. |
| 9 | Re-scan | Refreshes handler list from registry. |
| 10 | HTML Report | Generates color-coded HTML report of all handlers. |
| 11 | Restart Explorer | Kills and restarts explorer.exe to apply changes. |
| 0 | Exit |
| Level | Meaning | Action |
|---|---|---|
| 🔴 BROKEN | DLL missing or CLSID unresolvable | Disable immediately — adds delay for nothing |
| 🔴 HIGH | Known offender with documented issues | Disable recommended |
| 🟡 MEDIUM | Third-party, unsigned, or suspicious | Benchmark to decide |
| ⚪ UNKNOWN | Third-party, no specific info available | Benchmark to decide |
| 🟢 LOW | Signed, reputable vendor | Usually safe |
| 🟢 OK | Microsoft, expected location | Leave enabled |
| 🟢 SAFE | Core Windows, essential for OS | Never disable |
The tool includes a database of 25+ handlers known to cause delays:
- Google Drive (GDContextMenu, GDriveMiniContextMenuHandler) — network calls during menu build
- Dropbox (DropboxExt) — sync status queries per file; hangs if Dropbox not running
- OneDrive (FileSyncEx, FileSyncShell, OneDriveContextMenu, SkyDriveShell) — can hang if service stopped
- iCloud (iCloudExt, iCloudDriveShell) — hangs if iCloud not running
- Box Drive (BoxShellExt) — cloud sync shell extension
- Nextcloud (NextcloudExt) — sync shell extension
- Foxit PhantomPDF — known to crash explorer.exe
- ESET NOD32 (ABOREAL) — known Win11 context menu breakage
- Norton / Trend Micro / AVG / Avast — AV scan-on-right-click handlers
- TortoiseSVN / TortoiseGit — icon overlays + context menu, heavy on large repos
- NVIDIA — GPU context menu adds desktop right-click delay
The tool blanks the CLSID value in the handler's registry key. This tells Windows the handler exists but has no COM class to load — it's skipped instantly. The original CLSID is saved in a JSON state file and a .reg backup, so it can be restored at any time.
For persistent handlers that re-register themselves (Google Drive, Adobe), the rename method (option 5R) renames the entire registry key, so the re-registration code can't find it.
- Does not delete registry keys (all operations are reversible)
- Does not modify DLL files
- Does not require internet access
- Does not install anything (single standalone .ps1 file)
- Full registry backup created automatically on first run
- Every disable creates an individual .reg backup file
- Session-scoped undo tracks exactly what was changed this run
- Binary search diagnostic has a
finallyblock that restores all handlers even on Ctrl+C - TrustedInstaller ownership takeover is logged and only used when explicitly requested
The tool stores its data in %LOCALAPPDATA%\ContextMenuDoctor\:
| File | Purpose |
|---|---|
disabled_handlers.json |
Tracks disabled handlers with session IDs for undo |
timer-history.json |
Response timer measurements for before/after comparison |
backups\ |
Registry .reg backup files (per-handler and full) |
doctor.log |
Operation log |
"My right-click takes forever but I don't know which handler"
→ Run the tool, press B for benchmark. The handler with the highest milliseconds is your culprit.
"I want a concrete before/after measurement"
→ Press RT (Timer) before fixing anything, then again after. It shows the exact improvement in milliseconds.
"I disabled something and now feature X doesn't work"
→ Press 8 to undo this session, or 8A to undo everything. Or press L to restore from a backup.
"Google Drive / OneDrive / Dropbox is making everything slow"
→ Press G, OD, or DB to check if the cloud service is hung. The tool can kill and restart it automatically. Press C for other cloud services (iCloud, Box, Nextcloud, pCloud, MEGA, Synology).
"Windows 11 'Show more options' is annoying"
→ Press W to toggle back to the classic full context menu. No admin needed, instant toggle.
"My 'New' submenu has too many entries"
→ Press SN to see all ShellNew entries. Disable the ones you never use — fewer entries = faster menu.
"I want to confirm handlers are actually the problem before changing anything"
→ Press T for quick test. It temporarily disables all third-party handlers, you test right-click, then it re-enables everything.
Free for personal and home use. Commercial or business use requires a paid license. See LICENSE for full terms. Contact processingclouds@gmail.com for commercial licensing.
Syed Asd Humayun