Help Center


Can I request a new feature?

Absolutely! We have an open roadmap and a place to submit feature requests, here:

You can submit a new feature request there, or upvote existing requests to let us know you also want that feature

Which conference call apps does MuteDeck support?

Currently, MuteDeck supports Zoom, Microsoft Teams, Cisco Webex, and Google Meet. We have more on the way.

Check out our roadmap to see which apps we are going to support. You can also request support for a different app.


What to check when MuteDeck doesn't recognize calls

There are a few reasons why MuteDeck won't discover your calls:

  • The meeting control toolbar is automatically hidden.
    There's a Zoom setting called Always show meeting controls, which needs to be enabled. There are similar settings in the other conference call apps. Otherwise, MuteDeck will not be able to detect the status.
  • Zoom, Teams, Webex, or Google Meet is set to an unsupported language.
    Currently, MuteDeck supports English only for Microsoft Teams, Webex, and Google Meet. Zoom has more support. Here are the supported languages:
    Software Languages
    Cisco Webex ๐Ÿ‡ฌ๐Ÿ‡ง
    Google Meet ๐Ÿ‡ฌ๐Ÿ‡ง
    Microsoft Teams ๐Ÿ‡ฌ๐Ÿ‡ง
    Zoom ๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ‡ฌ๐Ÿ‡ง ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ซ๐Ÿ‡ท ๐Ÿ‡ฎ๐Ÿ‡ฉ ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ฐ๐Ÿ‡ท ๐Ÿ‡ณ๐Ÿ‡ฑ ๐Ÿ‡ต๐Ÿ‡ฑ ๐Ÿ‡ต๐Ÿ‡น ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡น๐Ÿ‡ท ๐Ÿ‡ป๐Ÿ‡ณ ๐Ÿ‡จ๐Ÿ‡ณ

  • Microsoft Teams isn't recognized until you hover over the controls.
    On Windows only, before MuteDeck can see the controls of a Teams call, the controls need to be used. When it first sees the Teams call window, MuteDeck toggles the video twice. It does this using the default key shortcut (ctrl+shift+o). If you have changed the shortcut, please update this file:

    C:\Program Files\MuteDeck\languages\windows\shortcuts.ini
    Open it with a text editor and change this line:


How does the licensing work?

The mute feature is free always; for the additional features to control your video, sharing, and a quick meeting exit, you need a license. When you first install MuteDeck, you get a 14-day trial of all features.

The MuteDeck software is licensed per computer. For example, if you install MuteDeck on two computers (work and personal), you need two licenses. If you install it on three computers, you need three licenses.

You can purchase a license from After the order is completed, you'll receive a license code via email. Sometimes email can be delayed, please allow 15 minutes for delivery.

The license code can be entered into the MuteDeck software via the settings:

If you'd like to purchase multiple licenses for your team, please contact us, we have some team-friendly rates available.

Can I buy this for my team?

Yes, we have license plans available for bulk purchases. Please contact us to get the ball rolling, thanks!


Getting Started with Google Meet

From MuteDeck version 1.1, we support managing Google Meet calls. All you need is the MuteDeck application, and our MuteDeck Google Meet Extension for Chrome and Brave. The extension discovers the status of Google Meet[ings] and passes it to MuteDeck.

Note: Before the extension will work with Brave, visit http://localhost:3491/ and turn off the Brave Shields feature for localhost.

Installing the Extension
Click on this link to head to the Chrome Web Store where you can download the extension. Installation is very simple, as this video will show:

And that's all you need! If you already have MuteDeck running, the extension will automatically start reporting to it. There are no discernable settings in the extension or other configuration needed.

Now, start a Google meeting and try it out!

Installing the Loupedeck Plugin

The Loupedeck plugin for MuteDeck is an awesome way to connect your Loupedeck to MuteDeck and control your meetings with physical buttons.

The Loupedeck plugin syncs the meeting status to your Loupedeck and lets you quickly mute, or control other aspects of the meeting.

Here's a walk-through of how to install and use the plugin with your Loupedeck

Installing the Stream Deck plugin

The Stream Deck plugin for MuteDeck is an awesome way to connect your Elgato Stream Deck to MuteDeck and control your meetings with physical buttons.

The Stream Deck plugin syncs the meeting status to your Stream Deck and lets you quickly mute, or control other aspects of the meeting.

Here's a walk-through of how to install and use the plugin with your Stream Deck

Customizing the Stream Deck button icons

Starting with the Stream Deck plugin version 4.0, you can customize the button icons. Here's how.

After installing MuteDeck and the Stream Deck plugin, follow these steps to change the images:

  1. Download and unzip this icon set, which contains all the required images.
    1. The images are named to what they represent.
    2. There are three files per button in an active, inactive, and disabled state. For example, muted.png is when the microphone is muted, unmuted.png for when it's unmuted, and video-disabled.png is when no call is detected and the video button is disabled.
  2. Create the following directory and place the images in it:
    1. macOS: ~/Library/Application Support/MuteDeck/streamdeck-images
      1. Use the Finder menu Go → Go to Folder → Enter ~/Library/Application Support/MuteDeck
    2. Windows: %APPDATA%\MuteDeck\streamdeck-images
    3. The MuteDeck directory should already exist. If it does not, please install and run MuteDeck first.
  3. Restart the Stream Deck software, and your new button images are now active!

It is a little cumbersome, and I hope Stream Deck can eventually support three states on a button. But for now, this is the only way.

If you create your own icon set, please share them with me; I'd love to create a gallery and share your icons with others!

In case you prefer video, here's a (3,5min) walk-through on YouTube:


How does MuteDeck work?

The MuteDeck software checks your computer to see if Zoom or Webex is running. If it's running, it scans the user interface to see what buttons are present. I.e., it looks for the Mute button and if it's there, it means you're unmuted. If the Unmute button is there, it means you're on mute.

When MuteDeck detects an active call, it mirrors the buttons with the active status of that feature. When you press unmute on Zoom or Webex, it detects this and changes the button inside MuteDeck. When you press mute on MuteDeck, it sends a simulated click to Zoom or Webex and detects whether the mute was successful.

Microphone Control as a Fallback

MuteDeck currently supports Zoom or Webex detection for all buttons (mute, video, share, leave). If a Zoom or Webex call is not found, MuteDeck falls back on the microphone you're using. This means you still have mute control with any conference call software, which is pretty awesome!

If you're curious about how that looks, here's an example from Microsoft Teams:

MS Teams muted message

How does the REST API work?

The MuteDeck software has an open API that you can use to get the status of each button (mute, video, etc.) and control the buttons as well. This RESTful API is the way to integrate with MuteDeck and built something cool that reacts to or controls your meeting status.

When the MuteDeck software is running, it runs a local web server where the API lives. You can find the API endpoints and built-in documentation, here: http://localhost:3491/

The list of API endpoints on that page tells you the URLs to approach and what HTTP method to use. To retrieve the status, use a GET. And to change the mute, video, or another status, use a POST method.
For example, reading out the status can have this output:

GET http://localhost:3491/v1/status
                       "control": "system",
                       "mute": "inactive",
                       "record": "disabled",
                       "share": "disabled",
                       "status": 200,
                       "video": "disabled"

This output tells you that mute is controlled by the system (so no Zoom call) and that mute is inactive, i.e. you are audible.

Let's look at an example where there is a Zoom call active:

GET http://localhost:3491/v1/status
                      "call": "active",
                      "control": "zoom",
                      "mute": "active",
                      "record": "inactive",
                      "share": "inactive",
                      "status": 200,
                      "video": "active"

Here we see that the control is with zoom, mute is active (people can't hear you) and the video is active.

Please let us know when you build something with the API, as we're dying to know what awesome creations are out there.

Advanced: API Server listen on all IPs

By default, MuteDeck only activates the API server on all IPs on your computer. Meaning you'll be able to integrate a home automation system. It is possible to turn this off, and only let MuteDeck listen on your local computer. It's also possible that when you've upgraded from an older MuteDeck version to the latest, the setting is off and you need to follow the below instructions to enable listening on all IPs.

Shut down MuteDeck and do the following:

Open the registry editor and browse toward this path:

In the window with the settings (like keep_on_top, start_at_login) listed, right-click and create a new String Value. Name it as api_listen_on_all_ips and modify its value to true. If you're turning it off, modify the value to false.

Open a window and run these commands:

defaults write ~/Library/Preferences/com.mutedeck.MuteDeck.plist "api_listen_on_all_ips" 1
defaults read ~/Library/Preferences/com.mutedeck.MuteDeck.plist "api_listen_on_all_ips"
The last command reads the settings file and shows the value, which should be 1. To disable listening on all IPs, run the same commands only with a 0 instead of 1.

After the setting is set, start MuteDeck again, and it will listen on the external network.

What happens when MuteDeck doesn't recognise the call app?

When MuteDeck does not recognize the call application, mostly because we don't support it yet, it falls back on the microphone input you're using. Mute visibility and control still works.

Here's an example:

No call detected

When using the mute button in an app that we don't yet support, you will still go on mute. Most apps can recognise that and will display a message. Here's an example with Microsoft Teams, where the microphone is muted:

MS Teams muted message

Anonymous Usage Stats Explained

During the continuous development of MuteDeck, we often review existing features and design for new features and options. By enabling the Send Anonymous Usage Stats option, you can help us understand how MuteDeck is used and lets us know which features matter most to you.

Disabled by default, MuteDeck will ask whether it can enable the collection of usage stats and send it to us when it first starts.

No data is collected or reported that can connect your identity to it. To be as transparent about what we collect, here's what is collected and sent to


  1. Computer ID
    • Random generated string when your computer is installed. Here's an example: 8B510C4A-BB24-5450-B1B0-BECC5F092DE6
  2. CPU Architecture
    • Whether MuteDeck is running on 32bit, 64bit, or another architecture.
  3. Kernel Type & Version
    • Shorthands for the type of system, like 'winnt' for Windows and 'darwin' for MacOS.
  4. Product Name & Version
    • Longer name for the type of system, like 'Windows 11 Version 2009' or 'macOS Monterey (12.6).'
  5. MuteDeck Version
    • The version of MuteDeck that's running.
  6. MuteDeck Licensed
    • Whether MuteDeck is licensed (but not the license itself.)


Events is a list of button presses that lets us know which buttons are being used the most. Per event, this is what is collected and sent to

  1. Event Date
  2. Event Type
    • This can be โ€œmuteโ€, โ€œvideoโ€, โ€œshareโ€, โ€œrecordโ€, or โ€œleave.โ€
  3. Context
    • In which context the event type is run. This can be โ€œsystem,โ€ โ€œzoom,โ€ โ€œwebex,โ€ or software that will be supported in the future.
  4. Via API
    • Tells us whether the event was triggered via MuteDeck's API, which means it's run via Stream Deck, Loupedeck, or another form of remote API. This can be โ€œyesโ€ or โ€œno.โ€

Why does it take a second or two to update?

MuteDeck is on a continuous loop to detect and find the status of Zoom. To balance the resources the software needs (CPU usage) and performance, we've put this loop on a 1-second delay. So, every second the call status gets updated, which can seem like a delay when you're paying attention to the buttons. We've found that this design is the sweet spot and is the best balance.

This may change in the future, but we want to be absolutely sure that the software does not interfere with your computer's resources and has a very small footprint.

Starting version 1.0, you can configure the time between updates. All the way down to 0,5 second. Combined with the instant updates to the Stream Deck plugin, makes it feel like it's real time. ๐Ÿ˜Š