How to Modify File Explorer's Navigation Pane with Win11Debloat

Win11Debloat modifies File Explorer's navigation pane by importing isolated registry files through PowerShell switches, allowing you to hide Home, Gallery, or restore classic This PC folders with single commands like .\Win11Debloat.ps1 -HideHome.

Win11Debloat provides a modular architecture to customize Windows 11's File Explorer interface without manual registry editing. This open-source PowerShell script treats every navigation pane modification—whether hiding the Home node or restoring classic folder layouts—as a discrete feature backed by specific .reg files. Understanding how to modify File Explorer's navigation pane with Win11Debloat gives you granular, reversible control over which elements appear in the left sidebar.

Architecture Behind Navigation Pane Modifications

Win11Debloat implements navigation pane changes through three coordinated components that separate configuration from execution.

PowerShell Parameters as Feature Switches

The script exposes each navigation pane tweak as a dedicated command-line parameter. In Win11Debloat.ps1, the parameter block (lines 81-100) defines switches like -HideHome, -HideGallery, and -AddFoldersToThisPC that map directly to FeatureIds. When invoked, these switches trigger the corresponding registry modifications without requiring manual registry edits.

Feature Definition JSON Mapping

Central to the system is Config/Features.json, which maps each FeatureId to its human-readable label, target registry file, and version constraints. For example, the HideHome entry (lines 1245-1255) points to Hide_Home_from_Explorer.reg, while AddFoldersToThisPC references Add_All_Folders_Under_This_PC.reg. This JSON-driven approach allows both the CLI and GUI to generate options dynamically from a single source of truth.

Registry Import Helper

The actual registry manipulation occurs through Scripts/Features/ImportRegistryFile.ps1. This helper validates the existence of registry files under Regfiles/ (or Regfiles/Sysprep/ for deployment scenarios) and executes reg import securely. By centralizing import logic, the script ensures consistent handling of both apply and undo operations across all navigation pane modifications.

How Win11Debloat Applies Navigation Pane Changes

When you execute a navigation pane switch, Win11Debloat follows a deterministic three-step pipeline:

  1. Feature Lookup: The script queries Features.json to resolve the FeatureId (e.g., HideHome) to its corresponding registry file path (Hide_Home_from_Explorer.reg).

  2. Registry Import: The Import-RegistryFile function loads the .reg file—checking Regfiles/, Regfiles/Sysprep/, or Regfiles/Undo/ depending on context—and executes reg import to modify keys like HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions.

  3. Explorer Restart: Unless you specify -NoRestartExplorer, the script restarts the Explorer.exe process immediately, applying the CLSID modifications (such as setting System.IsPinnedToNameSpaceTree = 0 for the Home node {f874310e-b6b7-47dc-bc84-b9e6b38f5903}) without requiring a system reboot.

Practical Examples for Navigation Pane Customization

Hide the Home Node

Remove the "Home" item from the navigation pane using the dedicated switch:

.\Win11Debloat.ps1 -HideHome

Behind the scenes, this imports Regfiles/Sysprep/Hide_Home_from_Explorer.reg, which sets the Home CLSID {f874310e-b6b7-47dc-bc84-b9e6b38f5903} to unpinned status.

Restore the Home Node

Reverse the change using the undo mechanism:

.\Win11Debloat.ps1 -ShowHome

Alternatively, use the explicit undo feature:

.\Win11Debloat.ps1 -UndoFeature HideHome

This imports Regfiles/Undo/Show_Home_in_Explorer.reg, restoring the default navigation pane layout.

Add Classic Folders to This PC

Restore the traditional folder structure under "This PC":

.\Win11Debloat.ps1 -AddFoldersToThisPC

Per Features.json (lines 1248-1250), this executes Add_All_Folders_Under_This_PC.reg, recreating the standard CLSID entries under HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions.

Combine Multiple Modifications

Apply several navigation pane changes in a single transaction:

.\Win11Debloat.ps1 -HideHome -HideGallery -AddFoldersToThisPC

The ImportRegistryFile helper processes each registry file sequentially, then restarts Explorer once (unless -NoRestartExplorer is specified).

Use the Graphical Interface

Launch the script without parameters to access the GUI:

.\Win11Debloat.ps1

Scripts/GUI/Show-MainWindow.ps1 renders toggles from Features.json. Selecting navigation pane options sets $script:Params, which then invokes the same ImportRegistryFile pipeline used by the CLI.

Core Source Files

The following files govern navigation pane modifications in the Win11Debloat repository:

  • Win11Debloat.ps1 — Top-level script defining command-line switches including -HideHome, -HideGallery, and -AddFoldersToThisPC.

  • Config/Features.json — Central catalog mapping FeatureIds to registry files and version constraints; drives both CLI and GUI feature generation.

  • Scripts/Features/ImportRegistryFile.ps1 — Handles safe loading and execution of .reg files for both standard and Sysprep deployment modes.

  • Regfiles/Sysprep/Hide_Home_from_Explorer.reg — Registry snippet that hides the Home node by modifying its CLSID pin status.

  • Regfiles/Undo/Show_Home_in_Explorer.reg — Counterpart file that reverses Home node removal.

  • Regfiles/Sysprep/Add_All_Folders_Under_This_PC.reg — Restores classic This PC folder layout (Documents, Downloads, Music, etc.).

  • Scripts/GUI/Show-MainWindow.ps1 — UI rendering logic that creates toggle controls dynamically from Features.json entries.

Summary

  • Win11Debloat treats navigation pane changes as isolated features backed by dedicated registry files in the Regfiles/ directory.
  • The FeatureId system in Features.json connects PowerShell switches (-HideHome) to specific registry modifications.
  • ImportRegistryFile.ps1 provides a unified import mechanism that validates file paths and executes reg import safely.
  • All changes are reversible through corresponding Undo registry files stored in Regfiles/Undo/.
  • Modifications take effect immediately after Explorer restart, controllable via the -NoRestartExplorer switch.

Frequently Asked Questions

What registry keys does Win11Debloat modify to hide the Home node?

Win11Debloat imports Hide_Home_from_Explorer.reg, which modifies the CLSID {f874310e-b6b7-47dc-bc84-b9e6b38f5903} under HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions. Specifically, it sets System.IsPinnedToNameSpaceTree to 0, which removes the Home item from the navigation pane tree without deleting the underlying system component.

Can I undo navigation pane changes made with Win11Debloat?

Yes, every navigation pane modification includes a corresponding undo operation. The script stores reverse registry files in Regfiles/Undo/ (e.g., Show_Home_in_Explorer.reg for the Home node). You can invoke these via the GUI's "Show" buttons or CLI switches like -ShowHome, or use the -UndoFeature parameter followed by the specific FeatureId.

Does Win11Debloat require a restart to apply navigation pane changes?

No system restart is required, though Win11Debloat automatically restarts the Explorer.exe process by default to refresh the navigation pane immediately. To prevent this behavior—useful when batching multiple changes—add the -NoRestartExplorer switch to your command, then manually restart Explorer later or log out and back in.

Is it safe to combine multiple navigation pane modifications in one command?

Yes, combining switches is fully supported and recommended for atomic configuration. Commands like .\Win11Debloat.ps1 -HideHome -HideGallery -AddFoldersToThisPC execute sequentially through ImportRegistryFile.ps1, importing each registry file before performing a single Explorer restart. Because each feature uses isolated registry keys, there is no risk of conflicts between navigation pane modifications.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →