Blog

Microsoft Teams on Linux: web app, PWA or a Pake window

Popular sites · · 6 min read

Microsoft's system requirements list no native Teams client for Linux, and say Linux users have Teams for web and Teams as a progressive web app (PWA). Install the PWA from Edge or Chrome if you join calls. A Pake build of the Teams website gives you a plain chat window with a tray icon, but it runs on WebKitGTK, which is not on Microsoft's browser list, and on Linux nothing in Pake answers the camera and microphone requests that WebKitGTK denies by default.

What Microsoft says

Microsoft's system requirements page has a section for Linux that reads, in full, that Linux users have access to Teams for web and Teams as a PWA. It lists Teams for web as supported on Edge, Chrome and Firefox, each at the latest three versions, on Windows, macOS and Linux. As of 2026-10-19 the page carries a July 2026 date and offers no Linux download.

The PWA page says Teams on the web can be installed as a PWA on Edge or Chrome and is hosted by the browser, so it stays inside the browser's sandbox. It lists autostart on login and pinning to the taskbar or dock as benefits.

What the web version cannot do

Microsoft's web prerequisites page says Teams for web offers near feature parity with the desktop client, then lists what is missing: use of several accounts and tenants at once with their notifications, pop-out windows for chats and channels, and avatars and video backgrounds other than blur. A longer feature list adds breakout room management, Spatial Audio, voice isolation, high fidelity music mode, presenter modes and giving or taking screen share control. It also says gallery sizes are limited to nine in Edge and Chrome and four in Firefox and Safari.

None of this is Linux-specific. It is what you get from the web client everywhere, so a Pake window has the same gaps and possibly more.

Which to use

TaskBetter choiceWhy
Join or run calls and meetingsEdge or Chrome PWA, or the website in Edge or ChromeMicrosoft names those browsers, and its notes about gallery size and policies are written for them
Chat, channels, filesPWA or a Pake windowFits in a smaller window
Several tenants at once in one web sessionNeitherSeparate browser profiles or separate Pake apps are a different setup
Firefox userTeams website in FirefoxPWA install is Edge or Chrome only

The PWA is the first thing to try. In Edge, Microsoft's help page gives the path Settings and more, More tools, Apps, Install this site as an app, and says installed apps appear on edge://apps. That page does not mention Linux, so check that your Edge build offers it. In Chrome, Google's help says choose More, Cast, save, and share, Install page as app.... Open teams.microsoft.com first, sign in, then install.

Build a Pake window

Pake CLI wraps a site in a window with the system's web view, which on Linux is WebKitGTK, not Chromium. You need Node.js 20.9 or later, Rust 1.85 or later and your distribution's WebKitGTK development packages; the CLI FAQ lists them, and the getting started guide has the rest. The ChatGPT and Claude on Linux guide walks through package formats in more detail.

npm install -g pake-cli
pake https://teams.microsoft.com --name Teams --width 1280 --height 800 --show-system-tray --hide-on-close --targets deb

--name Teams becomes teams on Linux. --show-system-tray adds a tray icon, --hide-on-close keeps the app running when you close the window, which is off by default on Linux, and --targets picks deb, rpm, appimage or zst. Install the file the build wrote, for example sudo apt install ./teams.deb.

On 2026-10-19, a request to teams.microsoft.com that sent no browser user agent was redirected to a /v2/unsupported-browser address, so Teams does look at what the client says it is. Without --user-agent, a Linux Pake app presents a Safari-style string, and Microsoft lists Safari for macOS only. If you see an unsupported-browser page, pass a current Chrome or Edge string for Linux with --user-agent, as the user agent guide describes, and rebuild. That only changes what the site is told, not the engine.

How the window behaves underneath

A Pake app on Linux is a Tauri shell drawing the page in WebKitGTK, so the engine is the version your distribution ships. Teams for web is a large page that stays open all day, and the FAQ says the memory a Pake app uses comes from the engine and the page. Pake also replaces the page's Notification API and reports permission as already granted, handing alerts to your desktop's notification service, as the notifications guide explains. The native bridge is granted only to the configured origin, and sign-in sends the window to other Microsoft addresses. Pake recognizes login.microsoftonline.com as a sign-in address and keeps it in the window, but if Teams settles on a different origin after sign-in, alerts fall back to none, so test that they still arrive.

Test calls before you rely on it

Calls, screen sharing and the camera depend on WebKitGTK giving the page access. Pake's CLI docs describe camera and microphone options (--camera, --microphone) only for macOS. In Pake CLI 3.17.6 (Tauri 2.10.2 and wry 0.54.2), neither Pake nor the Tauri and wry layers under it answer WebKitGTK's permission requests, and WebKitGTK's reference says a camera or microphone request that is not handled is denied by default. Expect the microphone and camera to be refused in a Linux Pake window, and check it before a real meeting:

  1. Join a test meeting with a colleague or a second account.
  2. Check that you can hear them, that they can hear you, and that your camera lights up.
  3. Share a window and then the screen. Screen capture on Wayland goes through the desktop portal, which varies by desktop.
  4. Have someone message you while the window is hidden, to test the tray and alerts.

If any step fails, use the PWA or the website in Edge or Chrome for calls and keep the Pake window for chat. No Pake option changes the media permission on Linux.

When something goes wrong

  • The window opens a browser for sign-in. A link the app treats as external opens in your browser. --safe-domain keeps trusted domains inside, but the list replaces Pake's default same-site rule, so name Teams' own domain as well, for example --safe-domain microsoft.com,microsoftonline.com. The sign-in guide explains how sign-in links are routed.
  • Buttons or typing do nothing under Wayland. The FAQ's fix for that is PAKE_LINUX_WEBKIT_SAFE_MODE=0 ./teams.AppImage, which forces WebKit's native rendering path; if the window then comes up blank, use =1 instead to turn the conservative rendering flags back on.
  • The AppImage cannot find WebKitNetworkProcess on Arch or Fedora. Build with --targets zst on Arch, or in Pake's Docker image.
  • You are signed out after each launch. Check that you did not build with --incognito.

FAQ

Is there an official Teams app for Linux?

Not now. Microsoft's system requirements page lists Teams for web and the PWA for Linux.

Does Firefox work?

Microsoft lists Teams for web on Firefox, including Linux, with a smaller gallery limit in meetings. The PWA route is Edge or Chrome.

Is a Pake window supported by Microsoft?

Microsoft's lists name Edge, Chrome, Firefox and Safari. A window built on WebKitGTK is none of those, so treat calls as untested and use a listed browser for them.