New Ways to Show or Hide Shell Namespace Folders in Windows 10

From Windows 2000/XP through Windows 10, you can add custom shell folders as well as hide specific shell folders from appearing in Explorer environment or Desktop using the Registry Editor or with GPOs. There are two new ways to do exactly the same task, in Windows 10.

What is a Shell namespace object (shell folder)?

Shell namespace objects are virtual folders that are powered by a shell extension. Take the case of the Recycle Bin. When you delete a file or folder, the deleted items are stored in a hidden and protected folder with cryptic names assigned to them. If you browse the hidden Recycle Bin’s file system directory using Command Prompt, you’ll know that it’s impossible to find the original file names of the deleted items.

show or hide shell namespace

Recycle Bin icon which you see on your desktop is a virtual folder that presents the collection of files and folders from the Recycle Bin store (Recycler or $Recycle.Bin directory) in a special, friendly view.

Show or Hide Shell namespace folders in Explorer

Here are some posts on how to remove or hide specific shell folders, and add custom ones using the registry.

In addition to the earlier methods such as “HideMyComputerIcons”, “HideDesktopIcons” and the “Namespace” registry keys to show or hide special folders, there are two other ways in Windows 10 to accomplish the same task.

“ThisPCPolicy” Registry value

Windows 10 RTM introduced a new method to show or hide shell objects in Explorer, using the “ThisPCPolicy” registry value, which is implemented in the following branch:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{GUID}

show or hide shell namespace

“ThisPCPolicy” registry value, when set to “Show”, the corresponding shell folder shows up in This PC, and setting it to “Hide” hides the folder.

“AllowedEnumeration” Registry key

Now, Windows 10 v1607 has introduced yet another way to show or hide particular shell namespace objects in File Explorer. You can whitelist a namespace object by adding the GUID as a DWORD value in the following registry key:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AllowedEnumeration

To apply the settings for all users on the device, add the values in this key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AllowedEnumeration

For example, to whitelist or show “Documents”, add the GUID {FDD39AD0-238F-46AF-ADB4-6C85480369C7} and set its value data to 1. To hide “Documents” remove the GUID value, or set its data to 0.

Unlike the earlier methods, changes made in the AllowedEnumeration key also affects namespace objects which are pinned to the navigation pane and under Quick access, and icons shown in the Desktop. It’s also reflected in Open and Save as, or Browse dialogs in various applications.

For some objects, you need to explicitly add the GUID DWORD value and set it to 0 in order to hide it. That especially applies to individual libraries.

Note: If the “AllowedEnumeration” key exists without any whitelisted entries, none of the special folders will show up in File Explorer and Desktop.

show or hide shell namespace

For each shell object you want to display, you need to add the appropriate GUID under that key. You can look up the list of Known Folder GUIDs at the Microsoft site.



Or even better, you can get the entire list from the FolderDescriptions registry key below:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions

Each subkey represents a shell folder.

Here, I’ve allowed these shell namespace objects, as you can see in the screenshot below.

This PC Desktop Folder {754AC886-DF64-4CBA-86B5-F7FBF4FBCEF5}
Computer [This PC] {0AC0837C-BBF8-452A-850D-79D08E667CA7}
Libraries {1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}
HomeGroup {52528A6B-B9E3-4ADD-B60D-588C2DBA842D}
Network {D20BEEC4-5CA8-4905-AE3B-BF251EA09B53}

And explicitly blocked the “Saved Pictures Library” by setting the following GUID value data to 0

Saved Pictures Library {E25B5812-BE88-4BD9-94B0-29233477B6C3}

whitelist shell namespace

And this is how File Explorer looks like:

whitelist shell namespace

Those six user shell folders in This PC view and other objects in the navigation pane are now hidden.

That’s about it!

Editor’s note: Since this key affects nearly every area in the Windows shell, including File Explorer, Desktop, user profile home folder views and perhaps in other sectors, you need to understand what each shell folder (under the FolderDescriptions registry key) means, before using the method. Inadvertently skipping certain GUIDs like {754AC886-DF64-4CBA-86B5-F7FBF4FBCEF5} would cause all the special folders and file system folders in your Desktop to become hidden.

“AllowedEnumeration” registry key is undocumented as of now, and I can’t wait to know why exactly Microsoft introduced this additional key when the conventional methods still work flawlessly in Windows 10.


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

4 thoughts on “New Ways to Show or Hide Shell Namespace Folders in Windows 10”

  1. Am on 1809. No matter what I try, using the AllowedEnumeration key results in all “normal” folders disappearing from the desktop and Quick Access. Have tried adding the “{754AC886…” guid as well as copying the eample guids from the article exactly.

    Reply

Leave a Comment