macOS
brew install notmuchlocal Homebrew formula metadata
sudo port install notmuchMacPorts ports tree · mail/notmuch/Portfile · source: api.github.com
brew
Thread-based email index, search, and tagging. Version 0.40 via Homebrew; verified 2026-06-22.
install
brew install notmuchlocal Homebrew formula metadata
sudo port install notmuchMacPorts ports tree · mail/notmuch/Portfile · source: api.github.com
sudo apk add notmuchAlpine Linux edge package indexes · notmuch · source: dl-cdn.alpinelinux.org
sudo apt install elpa-notmuchDebian stable package indexes · elpa-notmuch · source: deb.debian.org
sudo dnf install emacs-notmuchFedora Rawhide package metadata · emacs-notmuch · source: dl.fedoraproject.org
nix profile install nixpkgs#notmuchnixpkgs package indexes · notmuch · source: raw.githubusercontent.com
sudo pacman -S notmuchArch Linux sync databases · notmuch · source: geo.mirror.pkgbuild.com
sudo zypper install libnotmuch5openSUSE Tumbleweed package metadata · libnotmuch5 · source: download.opensuse.org
overview
Thread-based email index, search, and tagging
history
Notmuch is a thread-based email index, search, and tagging system built around local mail stores and Xapian search. It deliberately does not receive or send mail; instead it provides the database, CLI, library, tags, and frontends that let other tools build a mail workflow.
The project began as an answer to Sup. The Notmuch homepage says it started as an effort to rewrite Sup's performance-critical pieces in C rather than Ruby, then grew into a separate project with a clean separation between search/indexing and user interface.
Notmuch's first public source tarball in the official release directory is notmuch-0.1.tar.gz, dated 2010-04-05. The project had many 0.x releases through the 2010s and reached version 0.40 on 2026-01-31.
The architecture choice that mattered was treating mail as a local searchable database with arbitrary tags. Xapian handles the heavy search work, while Notmuch exposes command-line tools, a C library, language bindings, an Emacs client, Vim support, Mutt integration, and scripts such as notmuch-git.
Notmuch has long-running Unix email adoption rather than mass-market adoption. Its homepage lists packages for Arch Linux, Debian, Fedora, FreeBSD, Gentoo, NetBSD, openSUSE, macOS Homebrew/MacPorts/pkgsrc, and Slackware, and the av.db package record also maps it across Homebrew, apk, Debian/Ubuntu, dnf, MacPorts, Nix, pacman, and zypper.
Homebrew's formula API reported 2,580 install-on-request events and 6,314 installs for notmuch in its 365-day analytics window. That is meaningful for a local-mail power-user tool, especially because many Notmuch users install from Linux distribution packages rather than Homebrew.
Users point Notmuch at an existing Maildir-style mail store, run the initial setup/indexing flow, then use queries and tags to triage mail. Practical setups commonly pair it with offlineimap/isync or another mail synchronizer, an editor or terminal MUA, and tagging rules for inbox, lists, patches, and saved searches.
Package nerds use Notmuch as infrastructure: notmuch search for shell scripts, notmuch show for extracting messages or patches, Emacs notmuch for a full mail UI, notmuch-mutt for Mutt workflows, and language bindings or libnotmuch for custom tools.
Notmuch is one of the canonical examples of Unix-style personal information tooling: it does one hard local thing, makes it fast, keeps data out of hosted search, and lets frontends compete on workflow. Its long release history and packaging breadth make it much more significant than its mainstream visibility suggests.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
$NOTMUCH_CONFIG$XDG_CONFIG_HOME/notmuch/<profile>/config$XDG_CONFIG_HOME/notmuch/default/config~/.notmuch-config.<profile>~/.notmuch-configexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
notmuch | cli | global executable | |
notmuch-emacs-mua | cli | global executable | |
notmuch-git | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:notmuch |
|---|---|
| Version | 0.40 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/notmuch |
| Homepage | https://notmuchmail.org/ |
| Repository | https://git.notmuchmail.org/git/notmuch |
| Upstream docs | https://notmuchmail.org/doc/latest |
| License | GPL-3.0-or-later |
| Source archive | https://notmuchmail.org/releases/notmuch-0.40.tar.xz |
| Last updated | 2026-06-22T14:05:38-07:00 |
| Pulse | updated |
| Dependencies | cffi, gettext, glib, gmime, python@3.14, sfsexp, talloc, xapian |
| Build dependencies | doxygen, emacs, gnupg, libgpg-error, pkgconf, sphinx-doc |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | notmuch |
| Version Scheme | 0 |
| Revision | 1 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
elpa-notmuch 0.39-1
thread-based email index, search and tagging (emacs interface)
sudo apt install elpa-notmuchlibnotmuch-dev 0.39-1
thread-based email index, search and tagging (development)
sudo apt install libnotmuch-devlibnotmuch5t64 0.39-1
thread-based email index, search and tagging (runtime)
sudo apt install libnotmuch5t64notmuch 0.39-1
thread-based email index, search and tagging
sudo apt install notmuchnotmuch-doc 0.39-1
thread-based email index, search and tagging
sudo apt install notmuch-docnotmuch-git 0.39-1
thread-based email index, search and tagging
sudo apt install notmuch-gitnotmuch-mutt 0.39-1
thread-based email index, search and tagging (Mutt interface)
sudo apt install notmuch-muttnotmuch-vim 0.39-1
thread-based email index, search and tagging (vim interface)
sudo apt install notmuch-vimpython3-notmuch2 0.39-1
Python 3 interface to the notmuch mail search and index library
sudo apt install python3-notmuch2ruby-notmuch 0.39-1
Ruby interface to the notmuch mail search and index library
sudo apt install ruby-notmuchnotmuch
nix profile install nixpkgs#notmuchelpa-notmuch 0.38.3-1ubuntu2
thread-based email index, search and tagging (emacs interface)
sudo apt install elpa-notmuchlibnotmuch-dev 0.38.3-1ubuntu2
thread-based email index, search and tagging (development)
sudo apt install libnotmuch-devlibnotmuch5t64 0.38.3-1ubuntu2
thread-based email index, search and tagging (runtime)
sudo apt install libnotmuch5t64notmuch 0.38.3-1ubuntu2
thread-based email index, search and tagging
sudo apt install notmuchnotmuch-doc 0.38.3-1ubuntu2
thread-based email index, search and tagging
sudo apt install notmuch-docsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.