Windows adds custom widgets called Companions to the Start Menu – here's how to make and use your own

Companion on the start menu
(Image credit: Tom's Hardware)

For the past few months, Microsoft has been hard at work building extensibility into an area of the Windows shell that never saw an official means of 3rd party customization – the Start Menu. This change of direction comes as a big surprise. Other key areas of the shell, like the taskbar, have actually lost such functionality with the introduction of Windows 11. Officially called Start Menu Companions, this feature first appeared in Windows 11 Insider build 26212 released in early May 2024, and is available in all Insider channels at the time of writing.

One might think that third-party content being presented right next to something as prominent as the Start Menu would be locked behind a serious set of restrictions, but it turns out any packaged app has the ability to declare itself as a Start Menu Companion. All you have to do is add a few entries to the app’s manifest, including a path to the JSON file which will be used as the data source.

Why JSON as a UI data source? Instead of going for one of their many XAML-based frameworks (WinUI 3, UWP, etc.), the tech giant decided to reach for Adaptive Cards as the core technology behind Start Menu Companions. This in turn means that the interface is updated in a rather unconventional way. 

Instead of having a piece of markup with events wired up, all your app has to do is compose a JSON file describing the UI and save it to the path you specified in your app’s manifest. The shell monitors these paths and as soon as a change is registered the companion gets re-rendered. Another area of the shell that uses Adaptive Cards is Widgets, hence why I chose to demo this feature with Weather and Stocks data back when it first appeared.

The extension declaration features a few more things. Namely, which side of the Start Menu the companion appears on – left or right, and how it appears in the list of companions visible in the Personalization > Start page of the Settings app.

Start menu personalization

(Image credit: Tom's Hardware)

Are there any quirks or shortcomings? Unfortunately, yes. As with any tech from Microsoft, the implementation of Adaptive Cards and their rendering is fragmented. Currently, companions are rendered by the shell instead of being rendered by the app that provides them. This might not sound like a big deal until you learn that the system Adaptive Cards renderer is stuck at version 1.1 and was last used for Windows 10’s now scrapped Timeline feature. 

UI surfaces such as Windows Widgets use a more up-to-date, undocked renderer instead. Why a better renderer for companions capable of supporting the newest 1.6 version wasn’t chosen is unknown.

Another limitation is that you can only ever see two companions at once. One on the left and one on the right. Despite the ability to enable as many as you want in the Settings app, only one will appear on each side. At the moment it looks like they’re loaded in alphabetical order and the first candidate wins.

Last week, we got to see the first official use of this functionality. A companion provided by the Phone Link app that puts the device’s quick status pane right next to the Start Menu. From here you can view the phone’s connection status, battery level, quickly launch into various areas of the app, as well as see a small list of latest photos.

Companions on both sides of the Start menu

(Image credit: Tom's Hardware)

If you happen to be interested in building your own Start Menu Companion, I put together a sample repository on GitHub. In there you’ll find a WinUI 3 app that serves as a simple editor of the Adaptive Cards JSON, as well as a small sample card to get you started.

How to Enable Start Menu Companions

If you want to see what a Start Menu Companion in action, here's how to install the sample one. Keep in mind that you must be running a current Windows 11 Insider build (Dev / Canary build 26241.5000 or above, Beta build 22635.3790 and above and Release Preview build 26100.994 or above). 

1. Use the ViveTool to enable feature ID 48697323. To do that, unzip the ViveTool into a folder and then enter this command at and administrative command prompt.

vivetool /enable /id:48697323

2. Enable Developer Mode in Windows. It's under Settings->System->For developers.

(Image credit: Tom's Hardware)

3. Clone or download the sample code from Github.

4. Use Visual Studio to open the .sln file for the project. Make sure it is Visual Studio 2022 or above. You can get Visual Studio Community for free.

5. Hit the arrow button or CTRL + F5 to Build and Deploy.

Build and deploy

(Image credit: Tom's Hardware)

6. Restart sihost.exe  (or reboot) to refresh the Start menu. You can do it in Task Manager.

You should now see the sample Start Menu Companion on the left side of your Start Menu.

Sample menu

(Image credit: Tom's Hardware)

You can also turn the widget off by going to Settings->Personalization->Start

Disable Start Menu Companion

(Image credit: Tom's Hardware)

To create your own Companion, you can start by modifying the SampleAdaptiveCard.json file in the project's Assets folder. You can also create your own JSON file using the tool at AdaptiveCards.io/designer. Keep in mind that these changes will only affect the widget at first deployment. To change how the contents are managed afterwards, you'll need to edit the C# code in the project, specifically in MainWindow.xaml.cs.

Albacore is a software developer and reverse engineer specializing in all things Windows related, whether new or old. They enjoy peeling back the curtain on upcoming features but also diving deep into forgotten betas to shed more light on what could've been, and what possibly went unnoticed for decades.

  • ekio
    More and more useless gimmick… meanwhile the file properties windows is still the same obsolete UI from XP…
    Reply
  • vijosef
    More bloatware, clutter, adware, spyware and junk.

    It only makes harder to clean a new installation. But they will pollute it again, somewhere else with each update.
    Reply
  • ThatMouse
    This is one of about 50 things I have to disable and change. I've made a list for my next clean install, because Microsoft does NOT make removing this junk easy.
    Reply
  • CmdrShepard
    So let me get this straight -- they removed the option for Start to use full screen, they removed customizable tiles from Start where you could size the panel and set your icon layout, forced an impossible to remove (unless you have AD joined PC) Recommended section into it to further reduce the number of icons for launching apps and force you to use search instead so they can shovel their Bing crap.

    And now? Now they are adding this bolt-on which looks like a fake tit so that Start can once again take up more screen real estate but not for icons that launch your apps -- this is literally more ADVERTISING space.

    Thankfully when I was making my custom ISO I fully removed widget support from it so I won't be getting that "feature" ever.
    Reply
  • 35below0
    The title is misleading. Microsoft DOESN'T add companions widgets. Stuff they push to insider builds is not added to regular Home and Pro versions.

    It is beneath contempt to mislead and frustrate readers with clickbait headlines like these.
    This might be a preview of things to come, but it's still in the works and doesn't affect non-insiders yet.

    But don't let truth get in the way of headlines.

    ThatMouse said:
    This is one of about 50 things I have to disable and change. I've made a list for my next clean install, because Microsoft does NOT make removing this junk easy.
    Yes and no.
    Windows has become like a mobile phone nowadays. After installing it, you pretty much have to comb through ALL options and settings and switch off a ton of BS.

    Really annoying if you happen to reinstall Windows on several computers, but fortunatley that is rare.

    Now, when Microsoft re-enables something that was disabled before as part of a minor update, THAT is something to get angry about.
    Or sometimes there will be a new setting amongst five others that are already disabled, but the new one escapes your attention.
    For example i noticed Notepad re-enabled spellchecking silently because i saw a bunch of underlined words. And i found one new sync setting when deep-diving into privacy and backup settings.

    Them adding useless stuff has been par for the course for at least 20 years. The extra hassle of playing whack-a-mole with an already installed and working OS though, that actualy annoys me.
    That and File Explorer randomly no longer being able to NOT display zipped archives as folders :rolleyes:
    I wonder what they updated when they broke that functinality?
    Reply
  • USAFRet
    Widgets again?

    Didn't we get rid of these in Vista?
    (for good reasons)
    Reply
  • ezst036
    ThatMouse said:
    This is one of about 50 things I have to disable and change. I've made a list for my next clean install, because Microsoft does NOT make removing this junk easy.
    Linux is easier to install than Windows.

    Just install and go.
    Reply
  • USAFRet
    ezst036 said:
    Linux is easier to install than Windows.

    Just install and go.
    A common comment.

    Interestingly, decades later, mass migration to Linux hasn't happened.
    Reply
  • ezst036
    USAFRet said:
    A common comment.

    Interestingly, decades later, mass migration to Linux hasn't happened.
    Agreed.

    Microsoft knows people will shoulder significant amounts of abuse but keep sticking around anyways.

    That's why you got TPM 2.0, you got forced OneDrive and a forced (non-local) MS account, and Microsoft even embeds advertisements directly in the operating system while selling your personal data. They know full well you'll stick around, no matter what level of abuse you get subjected to. You might even be a little proud that MS sells your personal data, I don't know. And those are only the recent tales of abuse. People who make it a point to track it all could offer a spreadsheet of it over these decades.

    As I made comment a few weeks ago, Microsoft only put Recall on a pause. It isn't permanently gone. They just know they've shoved a little too much down your throats, they'll let the heat pass a little bit and then down it will get crammed anyways. Recall is going to happen. This is an abusive company. And as you pointed out, these are Windows Vista widgets.

    Am I (or others) still allowed to point out that there's an easier way?
    Reply
  • USAFRet
    ezst036 said:
    Am I (or others) still allowed to point out that there's an easier way?
    Of course.

    But an easier install may not translate to easier actual use.

    Personally, I use Windows/Android/Linux, on a daily basis.
    None of the 3 is good for The One And Only.


    Linux aficionados have been promoting it for years, as the absolute solution.
    Sorry, but it hasn't happened yet.
    Reply