Facebook Messenger without the Facebook clutter.
A free, open-source desktop app for macOS, Windows, and Linux.
|
Download for macOS Apple Silicon · .dmg |
Download for Windows 64-bit installer · .exe |
Download for Linux AppImage · x64 |
Intel Mac, Windows ARM, Linux ARM, portable Windows, .deb, or .rpm?
See every download →
brew install --cask kristofferR/tap/carrier
Meta discontinued its Messenger desktop apps, then retired the standalone
messenger.com experience. Carrier brings the focused desktop experience back:
it opens facebook.com/messages in a dedicated window and removes Facebook's
Feed, Reels, Marketplace, global search, and other surrounding chrome.
Carrier uses the operating system's WebView through Tauri, rather than shipping another copy of Chromium. The macOS and Windows installers are roughly 2–3.5 MB, while still providing native notifications, unread badges, tray integration, global shortcuts, and verified automatic updates.
- Just your conversations — no Feed, Reels, Marketplace, or browser tabs.
- Small by design — one system WebView instead of a bundled browser engine.
- Real desktop notifications — including background delivery, notification sound controls, hidden previews, and scheduled do not disturb.
- At home on your desktop — unread badges, tray or menu-bar operation, start-on-login, a global show/hide hotkey, and remembered window placement.
- Made for focus and screen sharing — force light or dark mode, adjust page zoom, use system emoji, or temporarily hide names and avatars.
- Useful Messenger extras — fast conversation navigation, better media viewing, richer context menus, and external links that bypass Facebook's tracking redirect.
- Native notifications with sender avatars and optional hidden previews
- Notification sound controls and a daily do-not-disturb schedule
- Unread count on the Dock or taskbar icon
- Tray support, start to tray, start on login, and hide on close
- Optional system-wide Cmd/Ctrl+Shift+M hotkey
- Menu-bar-only mode on macOS
- Always on top and experimental multi-window support
- Window size and position restored between launches
- Forced light or dark theme, or follow the operating system
- Adjustable and persistent page zoom
- Optional system emoji instead of Facebook's emoji sprites
- Hide names and avatars for screen sharing or working in public
- Optional top application menu on Windows and Linux
- Jump directly to conversations and cycle through them from the keyboard
- Toggle the conversation information sidebar
- Search conversations or the active thread without reaching for the mouse
- Double-click photos and videos for zooming and panning
- Copy, download, and open message media from richer right-click menus
- Copy images that Messenger exposes only as in-page blobs
- Voice and video call permissions
- Spell-check controls
- Verified automatic updates via GitHub Releases
- A diagnostics log for Messenger markup changes and integration failures
- A dedicated Settings window, available with F3
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| Cmd/Ctrl+1–9 | Jump to a conversation |
| Ctrl+Tab / Ctrl+Shift+Tab | Next / previous conversation |
| Cmd/Ctrl+] / Cmd/Ctrl+[ | Next / previous conversation |
| Cmd/Ctrl+Shift+N | New conversation |
| Cmd/Ctrl+N | New window |
| Cmd/Ctrl+K | Search conversations |
| Cmd/Ctrl+F | Search in the active conversation |
| Cmd/Ctrl+L | Focus the message input |
| Cmd/Ctrl+E / G / T | Emoji / GIF / attach files |
| Cmd/Ctrl+Shift+I | Toggle conversation information |
| Cmd/Ctrl+Shift+H | Hide names and avatars |
| Cmd/Ctrl+Shift+M | Show or hide Carrier globally, when enabled |
| Cmd/Ctrl+- / = / 0 | Zoom out / in / reset |
| F2 / F3 / F5 | Check for updates / Settings / reload |
Carrier does not add app analytics. Messenger content is processed locally when needed for features such as native notifications, unread badges, and privacy blur. Messenger itself still communicates with Meta, and update checks use GitHub Releases.
- Known Facebook analytics and logging requests can be blocked without blocking messaging (Settings → Advanced → Block Facebook telemetry, enabled by default).
- Off-site links open in your normal browser; Facebook tracking redirects are removed first.
- Automatic updates are cryptographically verified before installation.
- macOS downloads are Developer ID signed and notarized by Apple.
- The complete source is available here under the MIT license.
Carrier is a privacy-respecting client for Facebook Messenger, not a private replacement for the Messenger service. Meta's own data handling still applies.
The primary downloads above cover Apple Silicon macOS, x64 Windows, and x64 Linux. The latest release also includes:
| Platform | Architectures | Packages |
|---|---|---|
| macOS | Apple Silicon, Intel | .dmg |
| Windows | x64, ARM64 | Installer and portable .zip |
| Linux | x64, ARM64 | .deb, .rpm, and AppImage |
The macOS and Windows installers are about 2–3.5 MB. Linux .deb and .rpm
packages are about 4 MB; the self-contained AppImage is around 90 MB because it
bundles WebKitGTK instead of using the system package.
Carrier loads facebook.com/messages, so you need an account that Meta permits
to sign in there. The macOS build supports macOS 10.15 and later.
The same cask token works on macOS and Linux:
brew install --cask kristofferR/tap/carrierOn macOS, if Carrier.app is already present in /Applications, adopt it with:
brew install --cask --adopt kristofferR/tap/carrierThe Rust shell opens the official Messenger web experience in the operating system's WebView. At document start, Carrier injects a focused stylesheet and typed feature modules that remove Facebook chrome and add desktop behavior.
Because Facebook is a remote origin, page features communicate with the native shell through narrowly scoped Tauri plugins and events. Off-site navigation is routed to the default browser, downloads are restricted to expected media, and the window hides to the tray when configured.
Messenger is a remote service and its markup changes occasionally. Carrier logs integration failures locally and ships fixes through its signed updater.
Requires Rust, Bun, and the Tauri prerequisites for your OS.
git clone https://github.com/kristofferR/Carrier.git
cd Carrier
bun install
bun run dev
bun run buildThe injected scripts are authored in TypeScript under inject/src/
and bundled into single document-start scripts with bun run build:inject.
If Facebook changed something, a feature stopped working, or you have an idea, open an issue. Include your operating system and Carrier version when reporting a problem.
If Carrier is useful to you, consider starring the repository. It helps other people looking for a Messenger desktop client find the project.
Carrier is an unofficial, independent project. It is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. “Facebook” and “Messenger” are trademarks of their respective owners. Carrier does not modify Facebook's servers or data; it changes the presentation locally in your own window.
MIT © 2026 kristofferR