notmuch - thread-based email index, search, and tagging


       notmuch [option ...] command [arg ...]


       Notmuch  is a command-line based program for indexing, searching, read‐
       ing, and tagging large collections of email messages.

       This page describes how to get started using notmuch from  the  command
       line,  and  gives  a brief overview of the commands available. For more
       information on e.g. notmuch show consult the notmuch-show(1) man  page,
       also accessible via notmuch help show

       The  quickest  way  to get started with Notmuch is to simply invoke the
       notmuch command with no arguments, which will interactively  guide  you
       through the process of indexing your mail.


       While the command-line program notmuch provides powerful functionality,
       it does not provide the most convenient interface for that  functional‐
       ity.  More  sophisticated interfaces are expected to be built on top of
       either the command-line interface, or more likely, on top of  the  not‐
       much  library  interface.  See  for more about
       alternate interfaces to notmuch. The emacs-based interface  to  notmuch
       (available under emacs/ in the Notmuch source distribution) is probably
       the most widely used at this time.


       Supported global options for notmuch include

       --help [command-name]
              Print a  synopsis  of  available  commands  and  exit.  With  an
              optional command name, show the man page for that subcommand.

              Print the installed version of notmuch, and exit.

              Specify  the  configuration file to use. This overrides any con‐
              figuration file specified by ${NOTMUCH_CONFIG}.

              Enforce that the database UUID (a unique identifier  which  per‐
              sists until e.g. the database is compacted) is HEX; exit with an
              error if it is not. This is useful to detect rollover in modifi‐
              cation  counts  on  messages.  You can find this UUID using e.g.
              notmuch count --lastmod

       All global options except --config can also be specified after the com‐
       mand.  For example, notmuch subcommand --uuid=HEX is equivalent to not-
       much --uuid=HEX subcommand.



       The notmuch setup command is used to configure Notmuch for  first  use,
       (or to reconfigure it later).

       The  setup  command  will prompt for your full name, your primary email
       address, any alternate email addresses you use, and the directory  con‐
       taining your email archives. Your answers will be written to a configu‐
       ration file in ${NOTMUCH_CONFIG} (if set) or ${HOME}/.notmuch-config  .
       This configuration file will be created with descriptive comments, mak‐
       ing it easy to edit by hand later to change the configuration.  Or  you
       can run notmuch setup again to change the configuration.

       The  mail  directory you specify can contain any number of sub-directo‐
       ries and should primarily contain only files with individual email mes‐
       sages  (eg.  maildir  or  mh archives are perfect). If there are other,
       non-email files (such as indexes maintained by  other  email  programs)
       then notmuch will do its best to detect those and ignore them.

       Mail  storage that uses mbox format, (where one mbox file contains many
       messages), will not work with notmuch. If that's how your mail is  cur‐
       rently stored, it is recommended you first convert it to maildir format
       with a utility such as mb2md before running notmuch setup .

       Invoking notmuch with no command argument will run setup if  the  setup
       command has not previously been completed.


       Several  of the notmuch commands accept search terms with a common syn‐
       tax. See notmuch-search-terms(7) for more details on the supported syn‐

       The  search,  show,  address  and  count commands are used to query the
       email database.

       The reply command is useful for  preparing  a  template  for  an  email

       The tag command is the only command available for manipulating database

       The dump and restore commands can be used to create a textual  dump  of
       email tags for backup purposes, and to restore from that dump.

       The  config  command  can be used to get or set settings in the notmuch
       configuration file.


       If the given command is not known to notmuch, notmuch tries to  execute
       the external notmuch-<subcommand> in ${PATH} instead. This allows users
       to have their own notmuch related tools to be run via the notmuch  com‐
       mand. By design, this does not allow notmuch's own commands to be over‐
       ridden using external commands.


       All options accepting an argument can be used with '=' or ':' as a sep‐
       arator. For the cases where it's not ambiguous (in particular excluding
       boolean options), a space can also  be  used.  The  following  are  all

          notmuch --config=alt-config config get
          notmuch --config:alt-config config get
          notmuch --config alt-config config get


       The following environment variables can be used to control the behavior
       of notmuch.

              Specifies the location of the notmuch configuration  file.  Not‐
              much  will  use  ${HOME}/.notmuch-config if this variable is not

              Location to  write  a  talloc  memory  usage  report.  See  tal-
              loc_enable_leak_report_full in talloc(3) for more information.

              If  set to a non-empty value, the notmuch library will print (to
              stderr) Xapian queries it constructs.


       notmuch-address(1),   notmuch-compact(1),    notmuch-config(1),    not‐
       much-count(1),  notmuch-dump(1),  notmuch-hooks(5),  notmuch-insert(1),
       notmuch-new(1),   notmuch-properties(7),    notmuch-reindex(1),    not‐
       much-reply(1),      notmuch-restore(1),     notmuch-search(1),     not‐
       much-search-terms(7), notmuch-show(1), notmuch-tag(1)

       The notmuch website:


       Feel free to send questions, comments, or kudos to the notmuch  mailing
       list  <>  .  Subscription is not required before
       posting, but is available from the website.

       Real-time interaction with the Notmuch community is available  via  IRC
       (server:, channel: #notmuch).


       Carl Worth and many others


       2009-2018, Carl Worth and many others