Email is one of those tools that keeps getting heavier. Every few years the
mainstream clients add another sidebar, another chat panel, another AI button
sitting on top of the same IMAP and SMTP wires underneath. If you spend most of
your day in a terminal and want to read mail there too, the usual answer has
been Mutt, NeoMutt, or one of the mu-based setups inside Emacs. They all work,
and they all carry decades of patch culture and configuration cruft.
Indicium Mail TUI is a different bet. It is a single Rust binary that presents
a three-pane layout (folder list, message list, reading pane) and is keyboard
driven end to end. No plugins to assemble, no muttrc to inherit from a tutorial
you found in 2009. The release model is “ship a static binary, drop it in your
PATH, configure once.” That alone is interesting enough to spend an afternoon
on.
A short list of where the bet pays off:
- A single static binary with no runtime dependencies means the install step is “copy a file,” not “wire up a runtime.”
- SQLite-backed local cache plus FTS5 full-text search gives you instant search across years of mail without depending on the server’s search syntax.
- The OAuth2 PKCE flow for Gmail and Microsoft 365 sidesteps both companies’ recent decisions to disable less-secure-app logins, which is the part that kills most home setups first.
- The MCP server hook means any agent that speaks the Model Context Protocol standard can drive the mailbox as a tool, rather than scraping IMAP itself.
- The local-AI draft flow keeps the message body on the box when you opt in to a CLI like Claude or Codex, which is the privacy posture most technical users want from a TUI mail client.
What it actually does
The application speaks IMAP and SMTP the same way any modern mail client does.
It supports implicit TLS, STARTTLS and unencrypted connections. Local message
caching happens in SQLite using WAL mode (a write-ahead logging setup that lets
readers proceed without blocking writers), and full-text search uses SQLite
FTS5 (a built-in extension that builds an inverted index for fast word lookup).
RFC 2177 IDLE (a protocol that lets the server push new mail to the client)
gives you near-realtime delivery without polling intervals. Multiple accounts
work, with presets for Gmail, Microsoft 365, Yahoo and custom IMAP providers,
and authentication supports both conventional passwords and OAuth2 PKCE (a
proof-key-for-code-exchange flow that avoids ever sending a shared secret).
The compose pane is the part that surprised me. Attachments open through a
file picker, HTML renders inline (no browser launch), and inline images show up
as half-block truecolour (24-bit per-pixel) graphics that work in any modern
terminal emulator. Threading is preserved through standard Message-ID and
References headers, and the conversation view stitches together related messages
even when they live in different folders.
Why the AI hook is worth paying attention to
Most “AI in the email client” stories are about a vendor’s cloud model and a
new monthly tier. Indicium Mail TUI does it differently. Reply drafting is
optional and routes through locally installed Claude, Gemini or Codex
command-line clients. If you have one of those CLIs already configured, the
client hands it the thread and lets you accept or reject the draft before
anything leaves your machine. Nothing is sent to a remote service unless you
configure it that way.
There is also an integrated Model Context Protocol (MCP) server, which is the
open standard that lets AI agents call external tools. With the MCP server
running, a compatible agent (Claude Code, Codex CLI, anything that speaks MCP)
can list folders, search messages, fetch a thread and draft a reply as if it
were a mail tool. For anyone running an agent on their own hardware, this turns
mail from “another app to keep open” into a tool the agent can drive when you
ask it to.
Getting it running
The binary is distributed as a single file with no runtime dependencies, which
is the part that closes the deal for older laptops and minimal container
images. Drop it somewhere on your PATH, run the interactive account setup,
pick your provider from the preset list, authenticate, and you are reading
mail. The first run walks through the prompts; subsequent runs land directly
in the inbox.
For Gmail and Microsoft 365, OAuth2 PKCE is the path that survives both
companies’ recent decisions to disable less-secure-app logins. For self-hosted
or corporate IMAP, the conventional password flow still works and the
connection-mode selection (implicit TLS, STARTTLS or plain) sits in the same
configuration screen.
Where the alternatives fall short
Mutt and NeoMutt remain the reference implementations, but they require a
non-trivial amount of glue: a sidebar patch set, an address-book setup, an
msmtp or sendmail configuration for outbound mail, plus whatever FOSS
contributed patches you want to layer on top. mu4e gives you Emacs integration
if you already live there, but pulls you into mu’s indexer and the rest of the
Emacs mail stack. aerc bills itself as a pretty good email client and is
honest about that framing. SupCurses is closer in spirit to Indicium Mail TUI
but does not include the local-AI hook or the MCP server.
The honest gap is that Indicium Mail TUI is younger than Mutt by decades, so
the plugin catalogue is sparse and the corner-case workarounds have not yet
been battle tested by ten thousand users. If your mail setup depends on
Pine-style screen sequences from the 1990s, you are not the target audience.
Trade-offs
The first trade is convenience versus locality. Indicium Mail TUI’s design
sends no mail content off-box unless you opt in to a cloud AI provider, which
is the right default but means you cannot recover from a corrupted local
SQLite cache the way you could with a server-side web client. The second trade
is polish versus dependency footprint. No runtime dependencies means an easy
install on any Linux box, but you give up the package-level integration you
get from a Debian or Fedora package (a self-contained .deb or .rpm that
registers with the system package manager, placing files in standard paths
and integrating with update tooling). You will manage the binary yourself.
The third trade is modernity versus patch culture. The MCP server and the
local-AI hook are forward-looking, but you give up the long tail of community
contributions that have shaped Mutt for thirty years.
What I would tell past me
Indicium Mail TUI is a small, focused mail client that treats the terminal as
the home turf and the AI hooks as opt-in rather than mandatory. If you already
run Claude Code or Codex CLI on the same machine, the MCP integration is the
feature that turns this from “another TUI mail reader” into something worth
trying. For everyone else, it is a tidy, dependency-free client that gets the
fundamentals right and stays out of your way.
A few practical notes from real setups:
- The OAuth2 PKCE flow for Gmail and Microsoft 365 is the only path that survives the recent “less secure apps” shutdowns, so do not waste a Saturday afternoon trying to make a 16-character app password work.
- WAL mode plus FTS5 means the first search after a cold start is a hair slower than the cached ones that come after, which is fine for a personal mailbox and noticeable on a 50k-message archive.
- The MCP server runs as part of the same binary, not as a separate daemon, so when you close the client you close the agent’s view into your mail, which is the right default for privacy but worth remembering if you expect the agent to keep watching for new threads.
- Themes are configurable but the default renders well in both light and dark terminals, which saves the usual first-day fiddling.