Terminal Email

Gnus vs NeoMutt

Gnus: Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP.
NeoMutt: Full-screen terminal mail reader forked from Mutt, with notmuch, NNTP, Lua scripting and a sidebar built in.

Differences

Side by side

GnusNeoMutt
InterfaceRuns inside EmacsFull-screen terminal interface
LanguageEmacs LispC
LicenseGPL 3.0 or laterGPL 2.0 or later
Latest version5.13 (bundled with Emacs 31.1)20260616
LinuxNativeNative
macOSNativeNative
WindowsNativeThrough WSL
BSDNativeNative
AndroidThrough TermuxThrough Termux
IMAPYesYes
POP3YesYes
SMTPYesYes
JMAPNoNo
MaildirYesYes
mboxYesYes
notmuchThrough a separate toolYes
OpenPGPYesYes
S/MIMEYesYes
OAuth2 sign-invia pluginvia script
ThreadsYesYes
Searchgnus-search: IMAP SEARCH, or notmuch, mu, mairix and other local indexersbuilt-in patterns; notmuch for full-text
HTML mailbuilt-in, rendered with the Emacs shr libraryvia mailcap and an external viewer such as w3m or lynx
MouseYesNo
Multiple accountsYesYes
Offline usevia the Gnus agent or local Maildir back endswith isync or OfflineIMAP; IMAP header and body cache
Calendarreplies to invitations with gnus-icalendarNo
Contactsvia BBDB or EUDCvia query_command with abook or khard
Vim-style keysNoYes
ConfigurationEmacs Lisp in init.el or ~/.gnus.elneomuttrc text file

Which to choose

Choose Gnus for

  • Included with every GNU Emacs install, including native Windows builds.
  • Reads IMAP directly, plus local Maildir, MH and mbox stores and NNTP newsgroups.
  • Scoring, splitting and the Gnus agent allow detailed filtering and offline reading.

Watch out for

  • The group, summary and article model takes time to learn.
  • IMAP access runs inside Emacs, so large mailboxes can make Emacs wait.
  • Configuration is Emacs Lisp spread across many variables.

Install Gnus

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

Install NeoMutt

Questions

What is the difference between Gnus and NeoMutt?

Gnus is a mail client that runs inside Emacs; NeoMutt is a full-screen terminal client. Only NeoMutt has built-in notmuch. On Windows, Gnus runs natively and NeoMutt runs through WSL.

Which runs on Windows, Gnus or NeoMutt?

On Windows, Gnus runs natively. On Windows, NeoMutt runs through WSL.

See also: Gnus alternatives, NeoMutt alternatives.