Inspect Protocol Handlers in Windows Registry
Custom application URIs (such as mailto:,
slack:, or custom schemes used by desktop tools) allow
external applications and browsers to launch specific software directly.
In Windows, these custom URI protocols are defined and stored within the
Windows Registry. This article explains the exact registry keys where
registered protocol handlers reside and how to inspect their launch
commands using the Registry Editor (regedit).
Primary Registry Keys
Registered protocol handlers are stored under the
Classes hierarchy in the Windows Registry. You can inspect
them in the following locations:
System-Wide and Merged View:
HKEY_CLASSES_ROOT\<protocol_scheme>
HKEY_CLASSES_ROOT(HKCR) is a merged view of machine-wide protocols and current-user overrides. It is the most convenient starting point for quickly searching for any active protocol scheme.Current User Only (Per-User Registrations):
HKEY_CURRENT_USER\Software\Classes\<protocol_scheme>
This path contains protocol handlers registered exclusively for the currently logged-in Windows account.Local Machine (System-Wide Registrations):
HKEY_LOCAL_MACHINE\Software\Classes\<protocol_scheme>
This path contains protocol handlers installed globally for all users on the computer.
How to Identify a Valid Protocol Handler
For a registry key to function as a custom URI handler, it must contain a specific configuration:
- The
URL ProtocolMarker: Inside the root key of the scheme (e.g.,HKEY_CLASSES_ROOT\mycustomapp), there must be a string value (REG_SZ) namedURL Protocol. The value data is usually blank, but its existence signifies to Windows that the key represents a URL protocol handler rather than a standard file extension. - The Launch Command: Expand the protocol key and
navigate to the subkey located at:
...\<protocol_scheme>\shell\open\command
The(Default)value inside thecommandkey contains the command-line path executed when the URI is triggered (for example:"C:\Program Files\Example\app.exe" "%1"). The"%1"parameter passes the full URI string to the executable.
Steps to Inspect in Regedit
- Press Win + R, type
regedit, and press Enter to open the Registry Editor. - In the navigation address bar, enter
HKEY_CLASSES_ROOT(orHKEY_CURRENT_USER\Software\Classesfor user-specific installations). - Scroll alphabetically or use the find function (Ctrl +
F) to locate the protocol scheme name (for example,
spotify,zoommtg, orvscode). - Select the protocol key and confirm the presence of the
URL Protocolvalue in the right-hand pane. - Expand the key to
shell > open > commandto view the exact executable target and command-line arguments assigned to that URI.