5 notmuch - thread-based email index, search, and tagging
10 <b>notmuch</b> [option ...] <b>command</b> [arg ...]
15 Notmuch is a command-line based program for indexing, searching, read‐
16 ing, and tagging large collections of email messages.
18 This page describes how to get started using notmuch from the command
19 line, and gives a brief overview of the commands available. For more
20 information on e.g. <b>notmuch</b> <b>show</b> consult the <a href='../notmuch-show-1/'>notmuch-show</a>(1) man page,
21 also accessible via <b>notmuch</b> <b>help</b> <b>show</b>
23 The quickest way to get started with Notmuch is to simply invoke the
24 <b>notmuch</b> command with no arguments, which will interactively guide you
25 through the process of indexing your mail.
30 While the command-line program <b>notmuch</b> provides powerful functionality,
31 it does not provide the most convenient interface for that functional‐
32 ity. More sophisticated interfaces are expected to be built on top of
33 either the command-line interface, or more likely, on top of the not‐
34 much library interface. See <u>https://notmuchmail.org</u> for more about al‐
35 ternate interfaces to notmuch. The emacs-based interface to notmuch
36 (available under <b>emacs/</b> in the Notmuch source distribution) is probably
37 the most widely used at this time.
42 Supported global options for <b>notmuch</b> include
44 <b>--help</b> <b>[command-name]</b>
45 Print a synopsis of available commands and exit. With an op‐
46 tional command name, show the man page for that subcommand.
49 Print the installed version of notmuch, and exit.
52 Specify the configuration file to use. This overrides any con‐
53 figuration file specified by <u>NOTMUCH</u>_<u>CONFIG</u>. The empty string is
54 a permitted and sometimes useful value of <u>FILE</u>, which tells <b>not-</b>
55 <b>much</b> to use only configuration metadata from the database.
58 Enforce that the database UUID (a unique identifier which per‐
59 sists until e.g. the database is compacted) is HEX; exit with an
60 error if it is not. This is useful to detect rollover in modifi‐
61 cation counts on messages. You can find this UUID using e.g.
62 <b>notmuch</b> <b>count</b> <b>--lastmod</b>
64 All global options except <b>--config</b> can also be specified after the com‐
65 mand. For example, <b>notmuch</b> <b>subcommand</b> <b>--uuid=HEX</b> is equivalent to <b>not-</b>
66 <b>much</b> <b>--uuid=HEX</b> <b>subcommand</b>.
71 <h3> SETUP</h3>
73 The <b>notmuch</b> <b>setup</b> command is used to configure Notmuch for first use,
74 (or to reconfigure it later).
76 The setup command will prompt for your full name, your primary email
77 address, any alternate email addresses you use, and the directory con‐
78 taining your email archives. Your answers will be written to a configu‐
79 ration file in <u>NOTMUCH</u>_<u>CONFIG</u> (if set) or ${HOME}/.notmuch-config .
80 This configuration file will be created with descriptive comments, mak‐
81 ing it easy to edit by hand later to change the configuration. Or you
82 can run <b>notmuch</b> <b>setup</b> again to change the configuration.
84 The mail directory you specify can contain any number of sub-directo‐
85 ries and should primarily contain only files with individual email mes‐
86 sages (eg. maildir or mh archives are perfect). If there are other,
87 non-email files (such as indexes maintained by other email programs)
88 then notmuch will do its best to detect those and ignore them.
90 Mail storage that uses mbox format, (where one mbox file contains many
91 messages), will not work with notmuch. If that's how your mail is cur‐
92 rently stored, it is recommended you first convert it to maildir format
93 with a utility such as <b>mb2md</b>(1) before running <b>notmuch</b> <b>setup</b>.
95 Invoking <b>notmuch</b> with no command argument will run <b>setup</b> if the setup
96 command has not previously been completed.
99 <h3> OTHER COMMANDS</h3>
101 Several of the notmuch commands accept search terms with a common syn‐
102 tax. See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for more details on the supported syn‐
105 The <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-address-1/'>notmuch-address</a>(1) and <a href='../notmuch-count-1/'>not‐</a>
106 <a href='../notmuch-count-1/'>much-count</a>(1) commands are used to query the email database.
108 The <a href='../notmuch-reply-1/'>notmuch-reply</a>(1) command is useful for preparing a template for an
111 The <a href='../notmuch-tag-1/'>notmuch-tag</a>(1) command is the only command available for manipulat‐
112 ing database contents.
114 The <a href='../notmuch-dump-1/'>notmuch-dump</a>(1) and <a href='../notmuch-restore-1/'>notmuch-restore</a>(1) commands can be used to cre‐
115 ate a textual dump of email tags for backup purposes, and to restore
118 The <a href='../notmuch-config-1/'>notmuch-config</a>(1) command can be used to get or set settings in the
119 notmuch configuration file.
122 <h3> CUSTOM COMMANDS</h3>
124 If the given command is not known to notmuch, notmuch tries to execute
125 the external <b>notmuch-<subcommand></b> in <b>PATH</b> instead. This allows users to
126 have their own notmuch related tools to be run via the notmuch command.
127 By design, this does not allow notmuch's own commands to be overridden
128 using external commands.
131 <h3> OPTION SYNTAX</h3>
133 All options accepting an argument can be used with '=' or ':' as a sep‐
134 arator. Except for boolean options (which would be ambiguous), a space
135 can also be used as a separator. The following are all equivalent:
137 notmuch --config=alt-config config get user.name
138 notmuch --config:alt-config config get user.name
139 notmuch --config alt-config config get user.name
144 The following environment variables can be used to control the behavior
147 <b>NOTMUCH</b>_<b>CONFIG</b>
148 Specifies the location of the notmuch configuration file. See
149 <a href='../notmuch-config-1/'>notmuch-config</a>(1) for details.
151 <b>NOTMUCH</b>_<b>DATABASE</b>
152 Specifies the location of the notmuch database. See <a href='../notmuch-config-1/'>notmuch-con‐</a>
153 <a href='../notmuch-config-1/'>fig</a>(1) for details.
155 <b>NOTMUCH</b>_<b>PROFILE</b>
156 Selects among notmuch configurations. See <a href='../notmuch-config-1/'>notmuch-config</a>(1) for
159 <b>NOTMUCH</b>_<b>TALLOC</b>_<b>REPORT</b>
160 Location to write a talloc memory usage report. See <b>talloc</b>_<b>en-</b>
161 <b>able</b>_<b>leak</b>_<b>report</b>_<b>full</b> in <b>talloc</b>(3) for more information.
163 <b>NOTMUCH</b>_<b>DEBUG</b>_<b>QUERY</b>
164 If set to a non-empty value, the notmuch library will print (to
165 stderr) Xapian queries it constructs.
170 <a href='../notmuch-address-1/'>notmuch-address</a>(1), <a href='../notmuch-compact-1/'>notmuch-compact</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>not‐</a>
171 <a href='../notmuch-count-1/'>much-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1),
172 <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-properties-7/'>notmuch-properties</a>(7), <a href='../notmuch-reindex-1/'>notmuch-reindex</a>(1), <a href='../notmuch-reply-1/'>notmuch-re‐</a>
173 <a href='../notmuch-reply-1/'>ply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7),
174 <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
176 The notmuch website: <b>https://notmuchmail.org</b>
181 Feel free to send questions, comments, or kudos to the notmuch mailing
182 list <<u>notmuch@notmuchmail.org</u>> . Subscription is not required before
183 posting, but is available from the notmuchmail.org website.
185 Real-time interaction with the Notmuch community is available via IRC
186 (server: irc.libera.chat, channel: #notmuch).
191 Carl Worth and many others
196 2009-2022, Carl Worth and many others