Customizing the Start menu layout on Windows 11 devices

This week is all about customizing the Start menu layout on Windows 11. Customizing the Start menu layout enables organizations to create a standardized layout for theirs users by pinning apps, removing default apps, ordering apps and more. The configuration of such a standardized layout has changed from Windows 10 to Windows 11. To create a standardized layout for Windows 11, the IT administrator must use a JSON-file. In previous versions of Windows, that required a XML-file. That configuration change, justifies an explanation about the Start menu layout in Windows 11 and the different configuration options. This post breaks down the new Start menu layout in Windows 11 and the different configuration options that are available, per section. That breakdown is followed with a zoom-in on the newly introduced JSON-file for creating the standardized layout. This post ends with showing the user experience with a customized Start menu layout.

Important: My personal opinion is that the Start menu layout should be left untouched, when possible. In most cases the user will create their own Start menu layout, when needed.

Introduction to the Start menu layout in Windows 11

The Start menu layout of Windows 11 has changed, compared to Windows 10. That includes the configuration options that are available for the Start menu layout. Compared to Windows 10, things have changed. Not just the look-and-feel, also the configuration. That makes it important to breakdown the Start menu layout in Windows 11 and to look at the configuration options. Figure 1 is used as a reference for the breakdown of the Start menu layout.

Important: Nearly all of the mentioned settings are already configurable via a Device restrictions profile or via the Settings Catalog. The newly introduced settings for Windows 11 (in bold), will become available at some point in time.

Note: All the mentioned settings are available via the Policy CSP by using the ./Vendor/MSFT/Policy/Config policy node.

Creating a custom Start menu layout in Windows 11

When looking at the configuration options for the Start menu layout on Windows 11, the most settings are already available for Windows 10. The biggest change, however, is in configuring the actual layout. An IT administrator can create a custom Start menu layout for the organization, by manually configuring a layout and exporting that layout. That sounds familiar to Windows 10, but now the export is a JSON-file with really simplistic content. With that configuration, it’s only possible to configure and overwrite the entire existing layout. A partial Start menu layout is not possible. Also, the user can still pin and unpin apps. The IT administrator can’t force a specific Start menu layout that can’t be adjusted by the user. Once the Start menu layout is manually configured, simply use the Export-StartLayout cmdlet to export the configuration.

Export-StartLayout -Path "C:\Temp\CustomStartMenuLayout.json"

That export results in a JSON-file that contains a pinnedList section. Within that section the different pinned apps are listed. The order of the listed apps is also how the apps will be pinned in the Start menu layout. The apps can be added to the pinned apps list, by using one of the following configuration keys.

KeyDescription
packagedAppIDThis configuration key can be used for adding Universal Windows Platform (UWP) apps. To pin a UWP app to the pinned list, use the Application User Model ID (AUMID) of the UWP app.
desktopAppLinkThis configuration key can be used for adding unpackaged Win32 apps without an AUMID. To pin this type of Win32 apps to the pinned list, use the path to the .lnk shortcut that points to the app.
desktopAppIDThis configuration key can be used for adding unpackaged Win32 apps. To pin a Win32 app to the pinned list, use the AUMID of the Win32 app. When no AUMID is available, use the desktopAppLink instead.
{
    "pinnedList":[
        {"desktopAppId":"MSEdge"},
        {"desktopAppId":"Microsoft.Office.EXCEL.EXE.15"},
        {"desktopAppId":"Microsoft.Office.OUTLOOK.EXE.15"},
        {"desktopAppId":"Microsoft.Office.POWERPNT.EXE.15"},
        {"desktopAppId":"Microsoft.Office.WINWORD.EXE.15"},
        {"packagedAppId":"Microsoft.MicrosoftOfficeHub_8wekyb3d8bbwe!Microsoft.MicrosoftOfficeHub"}
    ]
}

Important: For OEMs – and organizations that are still into OS deployments – there are a few more options available for customizing the pinned apps. Specific groups of apps and a few more keys to provide some details.

Note: It’s also possible to create this JSON-file from scratch. Using an export just provides an easy starting point.

Applying a custom Start menu layout in Windows 11

When looking actually applying a custom Start menu layout on Windows 11, the Start/ConfigureStartPins policy can be used. That policy overrides the entire existing layout, including apps that are pinned by default and apps already pinned by the user. The configuration of that policy can be achieved by using a custom configuration profile. The following 10 steps walk through the creation of that custom configuration profile.

Bonus: As extra the steps below also provides the required configuration to configure the other new setting for Windows 11, which is the Start/ShowOrHideMostUsedApps policy. That setting can be used to show or hide the Most Used apps section on the top of the All apps list.

  1. Open the Microsoft Endpoint Manager admin center portal navigate to Devices Windows > Configuration profiles
  2. On the Windows | Configuration profiles blade, click Create profile
  3. On the Create a profile blade, provide the following information and click Create
  • Platform: Windows 10 and later
  • Profile type: Templates
  • Template name: Custom
  1. On the Basics page, provide a Name (and optionally a Description) for the custom profile and click Next
  2. On the Configuration settings page, see also Figure 1, click Add to add a row for the following custom settings and click Next
  • OMA-URI setting (1) – This setting is used to configure start pins
    • Name: Provide a name for the OMA-URI setting to distinguish it from similar settings
    • Description: (Optional) Provide a description for the OMA-URI setting to distinguish it from similar settings
    • OMA-URI: Specify ./Vendor/MSFT/Policy/Config/Start/ConfigureStartPins as value to configure start pins
    • Data type: Select String
    • Value: Specify the content of the exported JSON-file as a value to configure the start pins
  • OMA-URI setting (2) – This setting is used to show the must used apps
    • Name: Provide a name for the OMA-URI setting to distinguish it from similar settings
    • Description: (Optional) Provide a description for the OMA-URI setting to distinguish it from similar settings
    • OMA-URI: Specify ./Vendor/MSFT/Policy/Config/Start/ShowOrHideMostUsedApps as value to show the most used apps
    • Data type: Select Integer
    • Value: Specify 1 as a value to show the most used apps
  1. On the Scope tags page, configure the required scope tags click Next
  2. On the Assignments page, configure the required assignment (optionally: use a filter for Windows 11) and click Next
  3. On the Applicability rules page, configure the required applicability rules and click Next
  4. On the Review + create page, verify the configuration and click Create

Important: When applying a new, or adjusted, Start menu layout, the existing layout of the user will be overwritten.

Note: These settings will probably become available via Device restrictions or the Settings Catalog in the near future.

User experience with a custom Start menu layout in Windows 11

The user experience is interesting to look at. Figure 3 provides an overview of an adjusted Start menu layout on Windows 11. That provides an overview of some of the most notable adjustments. Number 1 shows the adjusted pinned apps, number 2 shows the removed jumplist and number 3 shows the added pinned folders. The latter two are not Windows 11 specific, but do add-on to the overal experience in this screenshot about the configuration options.

More information

For more information about customizing the Start menu layout on Windows 11, refer to the following docs.

63 thoughts on “Customizing the Start menu layout on Windows 11 devices”

  1. This might be nice for big companies with IT departments. I just want to know how to get rid of the junk MS put on my start menu and reorganize all my apps that I had neatly organized by by own categories (media, games, design, office, etc.). It looks like there’s no way to do that anymore. This is worse than Windows 8 was from a user perspective. It may be great for Big Corp to dictate a “perfect” start menu, but for a family that wants all their morning school apps together, their workday apps together, and their evening entertainment apps together, this sucks big time.
    Please understand that this is in now way an offense against your blog page. I’m frustrated, because the #1 result was a MS page that talked about configuring JSON files, and this is the #2, and it talks about policies that control it. I just want to be able to pin, drag, drop, and group my programs together in a way that is logical to my family. Is that too much to ask for? Apparently MS thinks so. I was excited about Win 11, and now I wish I could just go back to 10. Pretty much everything in 11 is harder and more annoying. Sounds perfect maybe for corps, but sucks for ordinary people.

    Reply
  2. Hi Peter, wondering if you might be able to pull a couple registry values for me, I don’t have access to Endpoint manager and am trying to configure some of these policies manually in the registry. I was able to use the ConfigureStartPins CSP setting by finding the info that was written to the registry and hoping to do the same for AllowPinnedFolderDocuments, AllowPinnedFolderSettings, AllowPinnedFolderFileExplorer, AllowPinnedFolderPersonalFolder. I believe the keys needed will windup in either HKLM\Software\Microsoft\PolicyManager\Current\Device\Start or HKLM\Software\Microsoft\PolicyManager\default\Start. I need the AllowPinnedXXXX_WinningProvider value but haven’t been able to find that anywhere online. Or if there is a different way to deploy the CSP’s I’m open to that as well.

    Thanks, Joe

    Reply
  3. Dear Peter,

    Thanks for that very detailed article, but I’m always getting “not applicable” when testing today, I tried both device or user assignments… Any idea ?

    Thanks a lot !

    Reply
      • I’ve first tried some custom layout, then I tried with your example, but in the end I get the same result. I’m talking about Win11 (22000.318) on Dell Latitude 7410 or 7420.
        Regards,
        Stéphane

        Reply
          • I haven’t checked the Event Viewer, but in the meantime I’ve changed the format of the JSON in the Configuration Profile, to provide something more “flat”. Here’s my current content and it started to work this way :

            {“pinnedList”:[{“desktopAppId”:”MSEdge”},{“desktopAppId”: “Microsoft.Office.OUTLOOK.EXE.15”},{“desktopAppId”: “Microsoft.Office.ONENOTE.EXE.15”},{“desktopAppId”:”Microsoft.SoftwareCenter.DesktopToasts”},{“desktopAppLink”:”%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\ClientInfo.lnk”},{“packagedAppId”:”Microsoft.WindowsTerminal_8wekyb3d8bbwe!App”}]}

            Thanks !

  4. These policies won’t then set an “initial” start layout correct? This policy will override anything the user pins the next time they reboot?

    Reply
  5. Hi Peter,
    Thanks for this very informative post. I would appreciate if you can provide some guidance on Customizing the Start Menu using OSD and Configuration Manager.
    I created the custom .json file and copied it with a PowerShell script during the Task Sequence to ‘\Users\Default\Appdata\Local\Microsoft\Windows\Shell’.
    However, the .json file shows up as .xml when the image is completed, and the Default Start Menu (not the Custom Start Menu) is loaded.

    Thanks for any assistance you can provide.

    Reply
  6. Hello Peter,

    After upgrading to 22H2, any user pinned apps are being removed at restart for us. I have a case with MS and they claim that was the case even in 21H2, but that is not my experience. Have you had the chance to test this on 22H2?

    Cheers, Pär

    Reply
      • Hi Peter,

        Yes, what you’re describing is as expected, but ever since 22H2, any item that a user pins to start after the layout has been applied is being removed on restart. No updates are being made to the start menu layout config profile.

        Cheers, Pär

        Reply
      • Hello again, Peter,

        I just got this reply from Microsoft regarding my case with them:

        “You are 100% correct WIN 11 21H2 works fine while if we apply the Policy WIN 11 22H2 the pinned app by the user vanishes after a reboot there is issues in ADMX for Win11 22H2 as the Policy seems to be correct and seems to be windows issues

        Windows 11 22H2 is a stable release but a persistent bug seems to be back and is affecting many users. Users around the world running the latest beta or dev build of Windows 11 have been facing an issue where pinned apps disappear after a reboot

        For more info, please review this Announcing Windows 11 Insider Preview Build 22000.176 | Windows Insider Blog”

        https://blogs.windows.com/windows-insider/2021/09/02/announcing-windows-11-insider-preview-build-22000-176/

        Good to know that they are aware of the issue, at least.

        Cheers, Pär

        Reply
      • Hi Peter, but is the layout enforced ? Meaning the user can’t change it anymore ? I’m experiencing something strange recently, and I’m pretty sure it’s recent, because I was already using this method for a while, it was kind of working, but lately, I did some changes, it wiped all my custom layout to go back to what I’ve set in Intune, but now, as a user, I can’t pin anything else in the Start Menu… EXCEPT when the app I want to add is in the “Recommended” section, or the result of a search… that’s total non-sense !

        Reply
  7. Hi Peter,
    I have a ticket currently open at MS, I’ll keep you updated if I get some useful information. For now on, I noticed that even if I added some apps to the Start Menu, it reverts back to the Custom CSP after reboot, loosing all user customizations.
    Cheers,
    S

    Reply
    • Hi Stéphane,

      It’s nice to know that others have the same problem. When I contacted MS, they only acknowlegded the problem, so I hope you get more useful information.

      Cheers,
      Pär

      Reply
      • Hi Pär, all,

        Last information I got from MS is that the documentation is clear, it says this :
        “When a user signs in or Explorer restarts, Windows reapplies the MDM policy. This action restores the specified layout and doesn’t retain any user changes.” (https://learn.microsoft.com/en-us/windows/configuration/customize-start-menu-layout-windows-11).
        But when checking in the Github, I saw the documentation was updated some time after I created the ticket… and clearly it was not documented this way, and before somewhere mid December 2022, it was working fine for us, we were applying Start Menu, and user could change, now, if user changes, it just get reverted to policy at each reboot (as documented), but this is a pain for us…

        Cheers,
        Stéphane

        Reply
  8. Can confirm the reset of pinned apps after a reboot as well. We use the method that Peter posted since we first started with Windows 11 and it seems this behaviour started very recently.

    Reply
  9. Does anyone know if this is limited to only Enterprise versions of windows like the Windows 10 start menu customization was? I am testing this on a new workstation with 11 pro before deploying it and it doesn’t seem to work for me. I customized the layout and exported it, and then created the required registry entry at HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start for ConfigureStartPins and put the json string in place back on the same PC. Testing with fresh user profiles never produces anything but the default windows 11 menu full of tiktok and instagram. 22H2 Build 22621.1194

    Reply
      • I did eventually get it working with Win11 Pro 22H2 Build 22621.1194. The trick was to remove any references to desktopAppLink. My initial attempt was this which was exported from a working profile on my test machine and then re-applied to the same test machine as a different user:
        {
        “pinnedList”:[
        {“desktopAppLink”:”%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Google Chrome.lnk”},
        {“desktopAppLink”:”%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Microsoft Edge.lnk”},
        {“desktopAppLink”:”%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Zoom\\Zoom.lnk”},
        {“desktopAppLink”:”%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\File Explorer.lnk”},
        {“packagedAppId”:”Microsoft.ScreenSketch_8wekyb3d8bbwe!App”},
        {“packagedAppId”:”Microsoft.WindowsCalculator_8wekyb3d8bbwe!App”},
        {“packagedAppId”:”Microsoft.WindowsNotepad_8wekyb3d8bbwe!App”},
        {“desktopAppLink”:”%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\System Tools\\Control Panel.lnk”},
        {“packagedAppId”:”windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel”},
        {“packagedAppId”:”Microsoft.WindowsStore_8wekyb3d8bbwe!App”}
        ]
        }

        Which failed and would do nothing. One by one i removed items from the configuration and tested it. The final working result was this:
        {
        “pinnedList”:[
        {“desktopAppId”: “Chrome” },
        {“desktopAppId”: “MSEdge” },
        {“desktopAppId”: “zoom.us.Zoom Video Meetings” },
        {“desktopAppId”: “Microsoft.Windows.Explorer” },
        {“packagedAppId”:”Microsoft.ScreenSketch_8wekyb3d8bbwe!App”},
        {“packagedAppId”:”Microsoft.WindowsCalculator_8wekyb3d8bbwe!App”},
        {“packagedAppId”:”Microsoft.WindowsNotepad_8wekyb3d8bbwe!App”},
        {“desktopAppId”: “Microsoft.Windows.ControlPanel” },
        {“packagedAppId”:”windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel”}
        ]
        }

        As soon as i put any refence to a desktopAppLink it fails every single time.

        i also found the powershell command “Get-StartApps” which lists all the installed applications that have Start Menu icons and their AppID which can be used when crafting the JSON file or customizing the exported one. The AppID from the powershell command can be used along with the “desktopAppId” key in the JSON.

        Reply
        • Thanks KarlB ! Despite a ticket with MS I could not get any solution to my problem, you made it ! I removed all the desktopAppLinks, now it works, I have a common base Start Menu which can be customized by the end user it seems ! Thanks again ! The MS documentation is really crap regarding this topic ! They explicitly say :
          “When you customize the Start layout, you overwrite the entire full layout. A partial Start layout isn’t available. Users can pin and unpin apps, and uninstall apps from Start. When a user signs in or Explorer restarts, Windows reapplies the MDM policy. This action restores the specified layout and doesn’t retain any user changes.”
          … doesn’t retain any user changes !!! Come on guys, it was working before December 2022, and now by applying this little change KarlB said, it’s working again !

          Reply
          • How are you applying this, via a script? I have no desktopapplink references in my json and all of my 22h2 devices get this start menu reapplied after a reboot from the Settings Catalog policy.

  10. Hello Peter,
    I can’t find “ConfigureStartPins” using WMI MDM bridge provider.
    Under ROOT\CIMV2\mdm\dmmap:MDM_Policy_Config01_Start02 there is only the old StartLayout

    Reply
  11. Hi Guys,
    I’m with you struggling with this Start Menu Layout crazyness!

    With a lot of hype I did the @KarlB suggested edits to my JSON, but.. nothing happened: once modified my Configuration Profile with DesktopAppId tag, after restart user pinned apps disappeared again.

    The following is my code:

    {“pinnedList”:[
    {“desktopAppId”:”Microsoft.Office.OUTLOOK.EXE.15″},
    {“desktopAppId”:”Microsoft.Office.EXCEL.EXE.15″},
    {“desktopAppId”:”Microsoft.Office.WINWORD.EXE.15″},
    {“desktopAppId”:”Microsoft.Office.POWERPNT.EXE.15″},
    {“desktopAppId”:”Microsoft.Office.MSPUB.EXE.15″},
    {“desktopAppId”:”Microsoft.Office.MSACCESS.EXE.15″},
    {“desktopAppId”:”com.squirrel.Teams.Teams”},
    {“packagedAppId”:”Microsoft.AzureVpn_8wekyb3d8bbwe!App”},
    {“packagedAppId”:”Microsoft.CompanyPortal_8wekyb3d8bbwe!App”}
    ]
    }

    Can you please give me any suggestion about it?

    Reply
      • Hi Peter,
        I’m using Windows 11 Enterprise 22H2 in Italian.

        The only way that so far it’s working is to apply the Start Menu Layout only once: it’s not natively possible via Config Profile, so I was thinking a way to create a Proactive Remediation.

        Thanks.
        Andrea

        Reply
        • I’am also looking for a way to apply ConfigureStartPins-Config-Profile only once. So that users get an initial pinning of predifined apps, but can later pin additional stuff. Have you found a solution?

          Reply
    • Hi Andrea,

      How are you deploying the json?
      I had the same problem with user pinned apps disappearing on reboot. This was when using a custom configuration profile in Intune.

      I finally solved it by pushing out the following (string) registry entry under HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start:
      ConfigureStartPins = {“pinnedList”:[{“desktopAppId”:”Microsoft.Office.WINWORD.EXE.15″},{“desktopAppId”:”Microsoft.Office.EXCEL.EXE.15″},{“desktopAppId”:”Microsoft.Office.POWERPNT.EXE.15″},{“desktopAppId”:”Microsoft.Office.ONENOTE.EXE.15″},{“packagedAppId”:”Microsoft.CompanyPortal_8wekyb3d8bbwe!App”},{“packagedAppId”:”MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe!App”},{“desktopAppId”:”MSEdge”},{“desktopAppId”:”com.squirrel.Teams.Teams”}]}

      This is only deployed once, which is needed to allow user pinned apps as well. Unfortunately, if you need to make a change to the start apps, you will need to deploy the registry entry again, and that will remove any user pinned apps. But as long as the setup stays the same, you’re ok.

      Hope this helps!

      Reply
  12. Hi Peter,

    i am trying to pin my Win32 apps with the “packagedAppID”, but if i do that, my layout stay`s empty, example of a AUMID that i am using is “{6D809377-6AF0-444B-8957-A3773F02200E}\7-Zip\7zFM.exe”, if i do it with the “desktopAppLink” of the app it works fine.
    any experience with this?

    Gr,
    Fred

    Reply
    • Hi Fed,
      For a Win32 app you should be using the desktopAppId instead and it should only be referring to the ID. I just noticed my post was having desktopAppID and packagedAppID mixed. Just fixed that.
      Regards, Peter

      Reply

Leave a Reply to Brutes Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.