How to Add Custom Shortcuts to the Windows 11 or 10 Context Menu

Cusom Shortcuts
(Image credit: Future)

The Windows context menu is always right at your finger tips; it appears when you right click on files, folders, icons or just the desktop. You can use it to check the properties of an object, open a file in a particular program or quickly get to a menu or app. 

Many applications add themselves to the context menu, but why let them have all the fun? With a few simple registry tweaks, you can add custom shortcuts to the context menu in Windows 11 or Windows 10. Below, I'll show you how to add custom entries to the default context menu you see when you right click on the desktop or to the menus that appear when you right click on particular file types (or all file types). 

You can add a lot of different things to the Windows context menu: a shortcut to launch a program, a shortcut to open a web page or a command to open the file you right clicked in a particular app. 

If you're running Windows 11, the first thing you should do, though, is make sure that you're seeing the full context menu and get rid of the annoying show "Show more options" item that you have to click to see all your choices. See our article on how to get full context menus in Windows 11, or scroll down to the bottom of this article where we also have the steps.

How to Add  a Program Shortcut to the Windows Context Menu

Follow the steps below to add an application shortcut to the Windows 11 or 10 context menu you get when you right click on the desktop or on a folder. 

1. Open the registry editor and navigate to HKEY_CLASSES_ROOT\Directory\Background\shell. You can open the registry editor by searching for "regedit" in Windows search.

navigate to the shell folder

(Image credit: Future)

2. Create a key under shell with the name of the application (ex: Chrome). To create a new key, just right click in the right window pane and select New->Key. Then rename the key to what you want it to be called.

Create Registry Key

(Image credit: Tom's Hardware)

3. Within the new key you created, add a String Value and name it Icon. You can add a String value by right clicking and selecting New->String Value. You can skip this step and the next step if you don't want an icon next to the entry.

Create String Value

(Image credit: Tom's Hardware)

4. Open the Icon string for editing and enter either the path to the executable (.exe) file for your program or to a custom .ico file (if you want a custom icon). Be sure to put the path in quotes and include the pull path including the drive letter. The path to the executable was "C:\Program Files\Google\Chrome\Application\chrome.exe" for Chrome on my PC.

Enter path to icon

(Image credit: Tom's Hardware)

5. Create another key called Command (with a capital C) under the key you previously created (ex: Chrome).

6. Open the (Default) value in Command and set it to the full path to the program's executable (ex: "C:\Program Files\Google\Chrome\Application\chrome.exe").  This is the same path you used for the icon, but here it designates the file that runs. 

enter full path to executable

(Image credit: Tom's Hardware)

7. Close the Registry Editor. If you don't immediately see the change in your context menu, then restart your PC or log out and back in again or restart Windows Explorer from the task manager.. 

You should now see the new shortcut on the right click menu when you right click on the desktop or within a folder in File Explorer. 

Custom Icon Showing

(Image credit: Tom's Hardware)

How to Make a Context Menu Shortcut to a Website

If you want to make a context menu shortcut that goes straight to your favorite website, it's easy to do that and you can even include that site's favicon. For example, to create a shortcut to Tom's Hardware, follow all the steps above, but: 

1. Download the site's favicon and store in a folder on your PC (ex: C:\icons"). You can find the URL of any site's favicon by viewing the source code of any page and grabbing the URL from there.

(Image credit: Future)

In the case of Tom's Hardware, our favicon is currently at https://vanilla.futurecdn.net/tomshardware/917220/favicon.ico. 

2. Set the Icon to C:\icons\favicon.ico or whatever you saved the favicon to.

3. Set the name (the default value for your key) to something memorable like "Open Tom's Hardware."

4. Set the command to "C:\Program Files\Google\Chrome\Application\chrome.exe" https://www.tomshardware.com or whatever the URL you want to go to is. You can substitute the path to chrome.exe with a path that launches your browser of choice.

You'll now have a site shortcut that looks like this.

open your favorite site on context menu

(Image credit: Future)

How to Add Windows Menus or Built-in Apps to  Context Menu

What if you want to add a menu item that opens up the "This PC" window in File Explorer or one that takes you directly to the task manager? How about going straight to the old-school Control Panel?

All of these built-in Windows applications are available, but usually not as .exe files. Instead, they have CLSID numbers and are launched by entering: explorer "shell:::{CLSID}". There are easily three dozen different CLSIDs around and Eleven Forum has a comprehensive list of them

For example, to open "This PC" (your list of drives), you'd use explorer "shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" as the default value in the command key (see step 6 in the first section of this article).

(Image credit: Future)

Here are a few of the most common CLSIDs and .exe paths for built-in Windows apps you may want to add to the context menu.

Swipe to scroll horizontally
Built-in AppLaunch PathHeader Cell - Column 2
This PC (all drives)explorer "shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"Row 0 - Cell 2
Removeable Drives Onlyexplorer "shell:::{F5FB2C77-0E2F-4A16-A381-3E560C68BC83}"Row 1 - Cell 2
Control Panelexplorer "shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}"Row 2 - Cell 2
Downloads Folderexplorer "shell:::{088e3905-0323-4b02-9826-5d99428e115f}"Row 3 - Cell 2
Documents Folderexplorer "shell:::{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}"Row 4 - Cell 2
Pictures Folderexplorer "shell:::{24ad3ad4-a569-4530-98e1-ab02f9417aa8}"Row 5 - Cell 2
Task ManagerC:\WINDOWS\System32\Taskmgr.exeRow 6 - Cell 2

For built-in Windows apps, you can either have no icon at all, put in a path to a custom icon or choose one of the dozens of icons in Shell32.dll by entering %SystemRoot%\System32\shell32.dll,[ICON NUMBER] as the icon path. To find out the number of the icon you want, you can install NirSoft Icons Extract and use it to scan C:\windows\system32\shell32.dll. 

If you do that, you'll see a list of icons with numbers in parenthesis after each.

Shell32 Dll Icons

(Image credit: Future)

For "This PC," the best icon is number 15, which is already used for This PC in File Explorer.

(Image credit: Future)

How to Add Context Menu Items for a File Type

These instructions show how to add an item to the Windows context menu which appears when you right click on the icon for a particular file type. For example, I created a menu item that reads "Open this Txt File in Chrome" to the context menu for .txt files. It then opens the .txt file for viewing in Chrome. Note that this does not change the default application for that file type.

1. In the registry editor, Navigate to HKEY_CLASSES_ROOT\SystemFileAssociations\[EXT] where [EXT] is the file extension you want. For example, for .txt files, it's  HKEY_CLASSES_ROOT\SystemFileAssociations\.txt.

navigate to registry key

(Image credit: Tom's Hardware)

2. Create a new key called "shell" under that.

3. Under "shell," create a key called "mycommand" or anything you want as this name is just for internal use.

create mycommand key

(Image credit: Tom's Hardware)

4. Set the default value in mycommand to whatever you want the menu text to say. In my case, I'm going to put "Open This Txt file in Chrome." 

name menu item

(Image credit: Tom's Hardware)

5. If you want an icon to appear next to the menu item, create a String value called "Icon" and set it to either the path to the executable (for the program icon) or to a custom .ico file if you want a custom icon.

set icon path

(Image credit: Tom's Hardware)

6. Create a key called "command" under the "mycommand" folder.

create command folder

(Image credit: Tom's Hardware)

7. Set the default value in the command key to the executable file path. Be sure to include "%1" after the file path so that it knows to open the file you clicked upon. So, to open my .txt file in chrome, I entered "C:\Program Files\Google\Chrome\Application\chrome.exe" "%1"

change the default value to the executable path

(Image credit: Tom's Hardware)

8. Close the registry editor and try right clicking on a file with the extension in question. You may need to sign out / sign in again if this doesn't work.

You should now see the custom menu item appear. 

custom menu item

(Image credit: Tom's Hardware)

How to Add Context Menu Items for All File Types

To add a custom context menu item that will appear on any file type, but not when you right click on the desktop, folders or other non-files, follow these steps.

1. In regedit, navigate to HKEY_CLASSES_ROOT\*\shell.

Custom item for any file type

(Image credit: Tom's Hardware)

2. Create a key underneath shell called "mycommand" or anything you want as long as it doesn't have spaces in the name.

create mycommand key

(Image credit: Tom's Hardware)

3. Set the default value in mycommand to the menu text you wish to appear. I'll go with "Open this File in Chrome." 

set the menu text

(Image credit: Tom's Hardware)

4. Create a string value called Icon and set it. Use the executable path (ex "C:\Program Files\Google\Chrome\Application\chrome.exe") if you want to use the program's default icon. However, you can also set a path to any .ico file and it will use that icon.

set icon path

(Image credit: Tom's Hardware)

5. Create a key called "command" under "mycommand."

6. Set the default value in command to the executable path (in quotes) with "%1" after it. So to open a file in chrome, I entered "C:\Program Files\Google\Chrome\Application\chrome.exe" "%1"

enter the path

(Image credit: Tom's Hardware)

7. Close Regedit and try right-clicking on any file. 

You should see your new menu item on the right-click menu, though possibly not if you have assigned a custom context menu item to that particular file type already. If you don't see it, try logging out and back in again.

custom menu item

(Image credit: Tom's Hardware)

How to Show the Full Context Menu in Windows 11

By default, Windows 11 does something extremely annoying; it only shows a few basic options on the context menu and then forces you to click a "Show more options" item in order to see the full menu. Follow the directions below to make Windows 11 show the complete context menu at all times.

Show more options in Windows 11

(Image credit: Tom's Hardware)

1. Open the registry editor and navigate to HKEY_CURRENT_USER\SOFTWARE\CLASSES\CLSID\

navigate to CLSID

(Image credit: Tom's Hardware)

2. Create a new registry key called {86ca1aa0-34aa-4e8b-a509-50c905bae2a2} under CLSID.

create a new registry key

(Image credit: Tom's Hardware)

3. Create another key under that called InprocServer32. 

create InprocServer32

(Image credit: Tom's Hardware)

4. Edit the default string in InprocServer32 so that it's blank. Don't even leave a space.

set default string to blank

(Image credit: Tom's Hardware)

5. Close the registry editor and reboot the computer.

Now you should have a full context menu.

Avram Piltch
Avram Piltch is Tom's Hardware's editor-in-chief. When he's not playing with the latest gadgets at work or putting on VR helmets at trade shows, you'll find him rooting his phone, taking apart his PC or coding plugins. With his technical knowledge and passion for testing, Avram developed many real-world benchmarks, including our laptop battery test.
  • Rabohinf
    New story idea: How to remove useless context menu items.
    Reply
  • RitiFamily
    Avram, great stuff... Thank you for writing this article. I appreciate how in-depth you took it! Much appreciated...
    Reply
  • froggx
    i'd been curious about this for a while. good read.

    Rabohinf said:
    New story idea: How to remove useless context menu items.
    i'd spent the last week looking into a reasonable way to do this and haven't had much luck.
    Reply
  • t3t4
    I've often wondered how to do this but never got around to looking it up. Now I don't have to since I print the page as a .pdf file.
    Thanks for the info, Tom.
    Cheers 🍻
    Reply