As you may already know, Windows 10 Insider Preview includes a set of "hidden" feature which are not accessible to regular users. Usually, the OS includes features that are not finished or can cause some unexpected behavior. Here are two tools we can use to unblock such features, both free and open source.
The tools are Mach2 and ViveTool. Let's review them.
How to Activate Hidden Windows Features with ViveTool
Vive is an open-source tool created by two well-known Windows enthusiasts, Rafael Rivera and Albacore. ViveTool can enable hidden features in Windows, which exist in the OS by hidden by Microsoft and/or under the A/B testing.
Microsoft is using a Feature Control system that allows its engineers to ship both stable and work-in-progress code similarly in the OS. They reside in a special Feature Store, and the latter portion is usually hidden from the user. Vive allows managing the Feature Store, and enable the features you are interested to try.
Vive is a C# library, and there is also a ViveTool app that uses the library and provides a console interface to its functions. Using it, it is easy to enable or disable a feature from the Feature Store.
Here are some the options you can use with the app.
Command line arguments
/query- Lists existing feature configuration(s)
/enable- Enables a feature
/disable- Disables a feature
/reset- Removes custom configurations for a specific feature
/fullreset- Removes all custom feature configurations
/changestamp- Prints the feature store change counter (changestamp)
/querysubs- Lists existing feature usage subscriptions
/addsub- Adds a feature usage subscription
/delsub- Removes a feature usage subscription
/notifyusage- Fires a feature usage notification
/export- Exports custom feature configurations
/import- Imports custom feature configurations
/lkgstatus- Prints the current 'Last Known Good' rollback system status
/fixlkg- Fixes 'Last Known Good' rollback system corruption
/appupdate- Checks for a new version of ViVeTool
/dictupdate- Checks for a new version of the feature name dictionary
vivetool.exe without any argument will reveal its brief help.
The following blog posts illustrate how to use the app:
Starting in version 0.3.1, ViveTool supports advanced options and more friendly features. It also introduced a new syntax for its commands.
New syntax of ViveTool v0.3.1+
vivetool /enable /id:36354489— enable a feature by ID.
vivetool /disable /id:36354489— disable a feature by ID.
vivetool /enable /name:SV2Navpane— enable a feature by its name.
vivetool /disable /name:SV2Navpane— disable a feature by its name.
In this example, the 36354489 value is the ID of the "new navigation pane" feature in Windows 11 build 25136.
In addition, ViveTool 0.3.1 supports the
/store argument that tells the app where to write the changes. Use it as follows.
/store:runtime - turn on a feature instantly without rebooting the OS. Some of the features can't be activated this way, as they require a restart.
/store:boot - save the feature configuration permanently, so it won't disappear after the OS reboot. This rarely happens to some of the features.
/store:both - combines both options at the same time. This is the best option for most users.
Here is an example of its usage:
vivetool /enable /id:36354489 /store:both.
Note. Since feature names are stored only in debug symbols, the app can't directly recognize them. To use them, you will need to provide a special dictionary FeatureDictionary.pfs, available on GitHub. You can download it manually, but the app is also capable to download it when required.
Old syntax of ViveTool v0.2.1
The older syntax looks as follows.
ViVeTool.exe addconfig <feature_id> <feature_option>- activate some feature (change its configuration).
ViVeTool.exe delconfig <feature_id>- erase the earlier added configuration, e.g. reset the feature.
For example, you can use these commands for enabling and disabling the above mentioned navigation pane in Windows 11 build 25136.
vivetool addconfig 36354489 2- enable the feature.
vivetool addconfig 36354489- disable the function.
You will find the actual version of ViveTool on the 'Releases' page in the repository on GitHub.
The software developer Rafael Rivera has created a free open source tool, Mach2, that allows unblocking hidden OS features.
Feature Control is a system used to gate off new and unfinished features from production users in production code. The latter bit is important; it helps teams – like the Notepad team – safely work on changes in a constantly evolving master codebase, reducing costly integration efforts and boosting transparency. Teams needing to work with this pre-production code can easily flip a switch on their Windows machines – like Feature_FluentNotepadWorkForMaryJo. Everyone else, however, would continue to use production code and be none the wiser.
This is where Mach2 comes in.
Mach2 manages the Feature Store, a core component of Feature Control, where these switches live. It can display which features are enabled or disabled on a machine. It can also assist with the discovery of interesting features to flip on and off.
The application can be downloaded from the GitHub web site. It is a command line application which supports the following options:
- mach2 --help - Show all available options and commands.
- mach2 scan <directory to scan> - Scan a directory for *.pdb files to reveal new features.
- mach2 display - Displays enabled, disabled, and defaulted feature IDs.
- mach2 enable <ID> - Enable a specific feature.
- mach2 disable <ID> - Disable a specific feature.
While the software is very useful, it is very inconvenient to work with IDs of features. You see what this or that features does, because there are no descriptions available. Also, some of the features may not appear in the GUI until you reboot the OS. Finally, enabling some incomplete feature may brick your PC and you will end with reinstalling the OS.
Thanks to Thurrott for covering Mach2.
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options: