explaingit

sindresorhus/caprine

Analysis updated 2026-06-24

7,361TypeScriptAudience · generalComplexity · 1/5Setup · easy

TLDR

A privacy-focused desktop app for Facebook Messenger that adds dark mode, multiple accounts, and read receipt blocking on macOS, Windows, and Linux, no browser tab needed.

Mindmap

mindmap
  root((Caprine))
    What it does
      Desktop Messenger
      No browser needed
      Multi-account
    Privacy features
      Block read receipts
      Hide typing indicator
      Link tracking blocked
    UI options
      Dark mode
      Compact layout
      Menu bar mode
    Platforms
      macOS
      Windows
      Linux
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Use Facebook Messenger as a standalone desktop app instead of keeping a browser tab open.

USE CASE 2

Block read receipts and typing indicators so contacts cannot see when you have read or are replying to messages.

USE CASE 3

Manage multiple Messenger accounts from one app and switch between them with keyboard shortcuts.

USE CASE 4

Access Messenger from the macOS menu bar without it taking up a Dock slot.

What is it built with?

TypeScriptElectron

How does it compare?

sindresorhus/caprinenangohq/nangonanostores/nanostores
Stars7,3617,3607,358
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasymoderateeasy
Complexity1/53/52/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

In plain English

Caprine is an unofficial desktop application for Facebook Messenger. It wraps the Messenger experience in a standalone app for macOS, Windows, and Linux, rather than requiring you to use a browser tab. The project describes itself as privacy-focused and adds several features that the browser version does not offer. On the privacy side, you can block read receipts so contacts do not see when you have read their messages, block the typing indicator so they do not see when you are composing a reply, and prevent Facebook from tracking links you click. Notifications can be configured to hide the message preview text so nearby people cannot read your screen. The app also adds practical conveniences: a dark mode, keyboard shortcuts for switching between conversations, a compact layout that adapts when the window is small, the ability to use multiple accounts, support for code blocks in messages, and a menu bar mode on macOS that keeps the app accessible without taking up space in the Dock. On macOS it also supports a translucent vibrancy window effect and Touch Bar controls. Installation is straightforward. On macOS you can download a DMG file or install via Homebrew. On Windows there is an EXE installer or a Chocolatey package. Linux users have multiple options including packages for Arch Linux, Debian and Ubuntu, Fedora, Flatpak, Snap, and AppImage formats. The app updates silently in the background. The project is considered feature-complete by its maintainer, meaning no new major features are planned, but bug fix contributions are still accepted.

Copy-paste prompts

Prompt 1
How do I install Caprine on macOS using Homebrew and enable dark mode?
Prompt 2
Walk me through setting up Caprine with multiple Facebook accounts and switching between them.
Prompt 3
I want to stop Caprine from showing message previews in notifications so people nearby cannot read my screen, which setting do I change?
Prompt 4
How do I enable Caprine's menu bar mode on macOS so it does not appear in the Dock?
Prompt 5
Which Linux package format should I use to install Caprine on Ubuntu, Snap, Flatpak, or AppImage?

Frequently asked questions

What is caprine?

A privacy-focused desktop app for Facebook Messenger that adds dark mode, multiple accounts, and read receipt blocking on macOS, Windows, and Linux, no browser tab needed.

What language is caprine written in?

Mainly TypeScript. The stack also includes TypeScript, Electron.

How hard is caprine to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is caprine for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.