A portable, native editor for the Windows Explorer context menu. It scans the registry, shows every menu entry in a searchable tree, and lets you create, edit, disable, delete, back up, restore, import and export items. Everything is done through the Windows Registry and official shell conventions, without installing any shell extensions or services.
Works on Windows 10 and Windows 11, in both light and dark themes, from a single executable that requires no installation.
Simple mode: every menu item is a switch, no registry knowledge needed
Advanced mode: the full registry tree with categories, search and filters |
Item details: status, class id, handler DLL, disable, delete and export |
- Two interfaces in one app:
- Simple mode (default): a plain list of everything in the right click menu with on and off switches. No registry knowledge needed, duplicates from different registry branches are merged into one row, core system commands such as Open and Properties are hidden so nothing important can be broken, and every switch is reversible.
- Advanced mode: the full registry tree with categories, editing, creation, import, export, backups and raw paths.
- Full scan of all context menu locations in
HKEY_CURRENT_USER\Software\ClassesandHKEY_LOCAL_MACHINE\Software\Classes(the branches that together formHKEY_CLASSES_ROOT) - Tree view with live search, status filter (all, enabled, disabled, with issues) and categories:
- Files (
*), all files and folders (AllFilesystemObjects) - Folders (
Folder), file folders (Directory), folder background (Directory\Background) - Desktop background (
DesktopBackground), drives (Drive), libraries (LibraryFolder), network (Network) - File types resolved from every registered extension and its ProgID
SystemFileAssociationsentries
- Files (
- Shows classic verbs, nested submenus (
SubCommands,ExtendedSubCommandsKey, command store references) and COM context menu handlers (shellex\ContextMenuHandlers) - Create and edit items with a command builder for:
- Programs, batch files (.bat, .cmd), PowerShell scripts (.ps1), VBScript (.vbs), URLs
- Command Prompt, PowerShell and Windows Terminal sessions in the clicked location
- Custom command lines with full control
- One click insertion of shell placeholders:
%1,%V,%L,%D,%W - Icons, top or bottom position, Extended (Shift only) items, separators before and after, standalone separator items, nested submenus
- Enable and disable without deleting:
- Verbs are toggled with the documented
LegacyDisablevalue - COM handlers are toggled through the per user blocked shell extensions list
- Verbs are toggled with the documented
- Well known system handlers are labeled with readable names, so entries such as "Send to", "Give access to", "Include in library" and "Restore previous versions" are easy to find even when their registry key is a bare CLSID
- Built in Explorer restart (toolbar button and a shortcut in handler details), because Explorer caches shell extension handlers and shows changes to them only after a restart
- Safe by design:
- Every operation snapshots the affected registry branches first and saves an automatic backup
- Unlimited Undo and Redo (Ctrl+Z, Ctrl+Y) backed by those snapshots
- Failed operations roll back automatically
- One click full backup of every context menu branch, with restore
- Deletion always asks for confirmation and is undoable
- Import and export of items or the whole configuration as human readable JSON
- Validation of every entry: missing commands, missing executables, missing icon files, orphaned COM handlers and broken command store references are flagged in the tree
- Detects when a change needs administrator rights and offers to restart elevated only in that case; per user items never require elevation
- Portable: settings, logs and backups live in a folder next to the executable (or in
%LOCALAPPDATA%\ContextMenuEditorwhen the executable location is read only) - Error logging to a plain text log file
Windows 11 shows its own compact context menu first. Classic registry items, including everything created with this app, appear under "Show more options" (Shift+F10 opens the classic menu directly). The app shows a hint about this on Windows 11. Entries in the compact menu itself are provided by packaged IExplorerCommand COM handlers; the app lists registered COM handlers and can disable them, which affects both menus.
Grab the latest ContextMenuEditor-*-windows-x64.zip from the Releases page, unpack it anywhere and run ContextMenuEditor.exe. No installation, no runtime dependencies.
Requirements: Rust 1.85 or newer with the x86_64-pc-windows-msvc toolchain.
git clone https://github.com/liwidale/context-menu-editor.git
cd context-menu-editor
cargo build --release
The binary is produced at target/release/context-menu-editor.exe.
Useful commands during development:
cargo fmt --all --check
cargo clippy --all-targets -- -D warnings
cargo test
The app reads and writes only these kinds of locations:
| Purpose | Location |
|---|---|
| Classic verbs | <base>\shell\<verb> with command, MUIVerb, Icon, Position, Extended, CommandFlags, SubCommands |
| Submenu children | <base>\shell\<verb>\shell\<child> and the Explorer command store |
| COM handlers | <base>\shellex\ContextMenuHandlers\<name> |
| Handler blocking | HKCU\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked |
where <base> is one of the categories listed above, under either HKCU\Software\Classes or HKLM\Software\Classes.
Backups, exported configurations and the undo history all use the same JSON snapshot format: a list of registry branches, each stored as a full tree of keys and typed values. Restoring a snapshot rewrites those branches to exactly the saved state, including deleting keys that did not exist when the snapshot was taken.
Next to the executable (portable mode) or in %LOCALAPPDATA%\ContextMenuEditor:
ContextMenuEditorData/
settings.json theme preference
context-menu-editor.log error and operation log
backups/ manual full backups
backups/auto/ automatic per operation snapshots
Rust, egui with eframe for the native GUI, winreg for registry access and the windows crate for elevation checks and shell APIs. The GUI framework was chosen for its single binary output, MIT licensing, immediate mode rendering that keeps a tree of hundreds of registry entries responsive while filtering on every keystroke, and built in light and dark theming that follows the system setting.
MIT. See LICENSE.


