Out of the box, Windows 11 shows a Chat icon in the taskbar for Microsoft Teams, a search box (duplicating the search function in the start menu) and launches the “home” version of Teams on startup. I do not use the home version of Teams, want to hide it and save teh taskbar space taken up by the search box.

Screenshot of search box and chat icon, annotated

Unlike most of the other buttons at the bottom, “Chat” is not a “pinned” application and cannot be removed by the usual right-click -> “Unpin from taskbar” method. There is a toggle for it in “taskbar settings” (from right-click on any empty area of the taskbar) or it can be programmatically disabled via the registry (there’s also a group policy setting for it, if you use group policies). I used Ansible to make these changes, through my existing Windows management tasks within the desktop role I created.

To hide the Chat icon for the current user, set the key TaskbarMn (despite searching, I have not found why it is called “Mn”…) of type dword to value 0 in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced. It can be enabled by setting the value to 1.

It is also possible to hide the slider to enable/disable the icon by setting the value of ChatIcon to 3 in HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Chat (on my system I also had to create the key Windows Chat) but I’m content with just setting it to off and leaving the slider available.

I also removed the search box (why does one need a search box there and in the start menu?) by setting SearchboxTaskbarMode to 0 in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search. Other values are 1 for icon only, 2 to show the full search box (default) and 3 to show icon and “search” label.

Finally, to stop Teams launching on startup I removed the key com.squirrel.Teams.Teams from HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run (it was originally C:\Users\<username>\AppData\Local\Microsoft\Teams\Update.exe --processStart "Teams.exe" --process-start-args "--system-initiated" where <username> is the username of the current user).