Skip to content

Fix, diagnose and clean Windows right-click context menu clutter. PowerShell tool with HTML reports, cloud service detection, ShellNew manager, overlay icons, and session undo. No install needed.

License

Notifications You must be signed in to change notification settings

processingClouds/pCloudsContextMenuDoctor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Platform Language Status Static Badge

ContextMenuDoctor

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.

License

Free for personal use. Commercial use requires a paid license. See LICENSE file.

Buy Me A Coffee

Requirements

  • 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)

Features

• Detects problematic shell extensions • Identifies registry inconsistencies • Flags known Explorer crash causes • Generates detailed diagnostic reports

Use Cases

• IT support teams • Desktop engineering • Troubleshooting persistent Explorer issues • Pre-rebuild system analysis

Output

The tool generates a structured diagnostic report suitable for internal documentation and escalation.

Context Menu Doctor

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.


What It Does

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:

  1. Scans all 10+ registry locations where context menu handlers are registered
  2. Identifies each handler's CLSID, DLL path, publisher, and known issues
  3. Benchmarks each handler's load time in milliseconds (COM instantiation timing)
  4. Scores risk from SAFE to BROKEN based on known offenders, signatures, and DLL status
  5. Disables problematic handlers safely (reversible, with backup)
  6. 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.


Quick Start

# Option 1: Run directly (if execution policy allows)
.\ContextMenuDoctor.ps1

# Option 2: Bypass execution policy
powershell -ExecutionPolicy Bypass -File ContextMenuDoctor.ps1

Run as Administrator for full functionality. The tool offers auto-elevation at startup.

Menu Reference

Scan & View

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.

Diagnose

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.

Fix

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.

Cloud Fix

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.

Backup & Tools

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

Risk Levels

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

Known Offenders

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

How It Works

The disable method

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.

What it doesn't do

  • 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)

Safety

  • 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 finally block that restores all handlers even on Ctrl+C
  • TrustedInstaller ownership takeover is logged and only used when explicitly requested

Files & Locations

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

Common Scenarios

"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.


License

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.


Author

Syed Asd Humayun