zmail
An email client designed for agents, not people.
IMAP sync to local SQLite for lightning-fast search and retrieval. CLI designed to delight your agent, so your agent can take care of your email for you.
Highlights
Simple binary install
About 2 MB, written in Rust. One install script—no Node, Python, or system packages to line up first.
Fast full-text search, locally
SQLite FTS5 on the same machine as your agent. Search your archive at full speed—nothing leaves your disk for indexing.
Your agent can run your mail
We designed our CLI to delight the agent: token efficient, fewer tool calls, 50ms search, attachments as Markdown.
grep, but for email.
Coding agents such as Claude Code or OpenClaw don't eyeball a giant tree by hand; they lean on small, fast CLI tools to narrow the search. zmail brings that same workflow to your inbox: commands and structured output the agent can run, parse, and follow up on. Hunting down Amazon invoices? Pulling the thread with Larry about last week's meeting? Same rhythm as tracking down a call site in a repo—just a different kind of source tree.
What zmail is
Your email is a database
Messages land in a local index—not an infinite scroll. Lexical search, metadata filters, and threads you can address by ID. Have your agent understand your email like it understands code.
Search that actually works
Fast, accurate search on your machine—so your agent can find what matters and take action without trial and error. Low-latency enough to run in a loop from the tools you already use.
Smarter over time
Local search is the floor. Your agent can learn priorities—who matters, which threads to surface, what to deprioritize—so what you see bends toward signal the longer you use it.
Install
curl -fsSL https://raw.githubusercontent.com/cirne/zmail/main/install.sh | bashExamples
zmail search "from:apple invoice OR receipt after:2025-01-01"
zmail inboxOr try this in your coding agent:
/zmail summarize all purchase from apple this year
/zmail brief me on my upcoming meeting with steve
/zmail draft a reply for each outstanding item that needs action in today's inbox and let me review themOr ask zmail directly:
zmail ask "who was that VC Peter introduced me to last week?"
zmail ask "go through all my meeting transcripts from last week and summarize what my action items are"Agent-first email means programmatic access is the primary interface. The goal is not another inbox—it's a local-first layer so your tools can read and write mail the same way they read a repo.