Matcha vs NeoMutt
Matcha: Terminal email client written in Go with the Bubble Tea TUI library, with IMAP, JMAP and POP3 support.
NeoMutt: Full-screen terminal mail reader forked from Mutt, with notmuch, NNTP, Lua scripting and a sidebar built in.
Differences
- Only Matcha has built-in JMAP.
- Only NeoMutt has built-in mbox and notmuch.
- On Windows, Matcha runs natively and NeoMutt runs through WSL.
- On BSD, Matcha builds from source and NeoMutt runs natively.
- On Android, Matcha is not available and NeoMutt runs through Termux.
- Matcha has mouse support; NeoMutt does not.
- Matcha has calendar support; NeoMutt does not.
- Matcha is written in Go; NeoMutt in C.
- Configuration: Matcha uses ~/.config/matcha/config.json plus in-app settings, and NeoMutt uses neomuttrc text file.
Side by side
| Matcha | NeoMutt | |
|---|---|---|
| Interface | Full-screen terminal interface | Full-screen terminal interface |
| Language | Go | C |
| License | MIT | GPL 2.0 or later |
| Latest version | v1.0.1 | 20260616 |
| Linux | Native | Native |
| macOS | Native | Native |
| Windows | Native | Through WSL |
| BSD | Build from source | Native |
| Android | No | Through Termux |
| IMAP | Yes | Yes |
| POP3 | Yes | Yes |
| SMTP | Yes | Yes |
| JMAP | Yes | No |
| Maildir | Yes | Yes |
| mbox | No | Yes |
| notmuch | No | Yes |
| OpenPGP | Yes | Yes |
| S/MIME | Yes | Yes |
| OAuth2 sign-in | Yes | via script |
| Threads | Yes | Yes |
| Search | built-in search and filter | built-in patterns; notmuch for full-text |
| HTML mail | built-in rendering, with inline images in supported terminals | via mailcap and an external viewer such as w3m or lynx |
| Mouse | Yes | No |
| Multiple accounts | Yes | Yes |
| Offline use | local cache of message lists and bodies | with isync or OfflineIMAP; IMAP header and body cache |
| Calendar | shows .ics invites and sends RSVP replies | No |
| Contacts | address book built from sent and received mail | via query_command with abook or khard |
| Vim-style keys | Yes | Yes |
| Configuration | ~/.config/matcha/config.json plus in-app settings | neomuttrc text file |
Which to choose
Choose Matcha for
- Supports IMAP, JMAP, POP3 and Maildir in one client
- PGP (including YubiKey) and S/MIME signing and encryption
- Prebuilt packages for Linux (Snap, Flatpak), macOS (Homebrew tap) and Windows (winget)
Watch out for
- Young project; v1.0 shipped only after a long series of 0.x releases
- JSON config is less readable to hand-edit than muttrc-style files
- Binary name clashes with an unrelated tool also called matcha
Choose NeoMutt for
- Built-in notmuch support for tag-based virtual mailboxes and full-text search
- Reads Usenet over NNTP and supports Lua scripting
- Reads most existing muttrc files with few or no changes
Watch out for
- Configuration is a text file with hundreds of options and no setup wizard
- HTML mail needs an external viewer set up in mailcap
- OAuth2 needs an external token script such as mutt_oauth2.py
Questions
What is the difference between Matcha and NeoMutt?
Only Matcha has built-in JMAP. Only NeoMutt has built-in mbox and notmuch. On Windows, Matcha runs natively and NeoMutt runs through WSL.
Which runs on Windows, Matcha or NeoMutt?
On Windows, Matcha runs natively. On Windows, NeoMutt runs through WSL.
See also: Matcha alternatives, NeoMutt alternatives.