-<pre>
- <b>files</b>
-</pre>
-
-<pre>
- Output the filenames of all messages matching the search
- terms, either one per line (--format=text) or as a JSON
- array (--format=json).
-</pre>
-
-<pre>
- <b>tags</b>
-</pre>
-
-<pre>
- Output all tags that appear on any message matching the
- search terms, either one per line (--format=text) or as a
- JSON array (--format=json).
-</pre>
-
-<pre>
- <b>--sort=</b>(<b>newest-first</b>|<b>oldest-first</b>)
-</pre>
-
-<pre>
- This option can be used to present results in either chronolog-
- ical order (<b>oldest-first</b>) or reverse chronological order (<b>new-</b>
- <b>est-first</b>).
-</pre>
-
-<pre>
- Note: The thread order will be distinct between these two
- options (beyond being simply reversed). When sorting by <b>old-</b>
- <b>est-first</b> the threads will be sorted by the oldest message in
- each thread, but when sorting by <b>newest-first</b> the threads will
- be sorted by the newest message in each thread.
-</pre>
-
-<pre>
- By default, results will be displayed in reverse chronological
- order, (that is, the newest results will be displayed first).
-</pre>
-
-<pre>
- <b>--offset=[-]N</b>
-</pre>
-
-<pre>
- Skip displaying the first N results. With the leading '-',
- start at the Nth result from the end.
-</pre>
-
-<pre>
- <b>--limit=N</b>
-</pre>
-
-<pre>
- Limit the number of displayed results to N.
+ <b>--format=(json|sexp|text|text0)</b>
+ Presents the results in either JSON, S-Expressions, newline
+ character separated plain-text (default), or null character
+ separated plain-text (compatible with <b>xargs</b>(1) -0 option
+ where available).
+
+ <b>--format-version=N</b>
+ Use the specified structured output format version. This is
+ intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
+ omitted, the latest supported version will be used.
+
+ <b>--output=(summary|threads|messages|files|tags)</b>
+
+ <b>summary</b>
+ Output a summary of each thread with any message matching
+ the search terms. The summary includes the thread ID,
+ date, the number of messages in the thread (both the num‐
+ ber matched and the total number), the authors of the
+ thread and the subject.
+
+ <b>threads</b>
+ Output the thread IDs of all threads with any message
+ matching the search terms, either one per line (--for‐
+ mat=text), separated by null characters (--format=text0),
+ as a JSON array (--format=json), or an S-Expression list
+ (--format=sexp).
+
+ <b>messages</b>
+ Output the message IDs of all messages matching the
+ search terms, either one per line (--format=text), sepa‐
+ rated by null characters (--format=text0), as a JSON
+ array (--format=json), or as an S-Expression list (--for‐
+ mat=sexp).
+
+ <b>files</b> Output the filenames of all messages matching the search
+ terms, either one per line (--format=text), separated by
+ null characters (--format=text0), as a JSON array (--for‐
+ mat=json), or as an S-Expression list (--format=sexp).
+
+ Note that each message may have multiple filenames asso‐
+ ciated with it. All of them are included in the output
+ (unless limited with the --duplicate=N option). This may
+ be particularly confusing for <b>folder:</b> or <b>path:</b> searches
+ in a specified directory, as the messages may have dupli‐
+ cates in other directories that are included in the out‐
+ put, although these files alone would not match the
+ search.
+
+ <b>tags</b> Output all tags that appear on any message matching the
+ search terms, either one per line (--format=text), sepa‐
+ rated by null characters (--format=text0), as a JSON
+ array (--format=json), or as an S-Expression list (--for‐
+ mat=sexp).
+
+ <b>--sort=(newest-first|oldest-first)</b>
+ This option can be used to present results in either chrono‐
+ logical order (<b>oldest-first</b>) or reverse chronological order
+ (<b>newest-first</b>).
+
+ Note: The thread order will be distinct between these two
+ options (beyond being simply reversed). When sorting by <b>old-</b>
+ <b>est-first</b> the threads will be sorted by the oldest message in
+ each thread, but when sorting by <b>newest-first</b> the threads
+ will be sorted by the newest message in each thread.
+
+ By default, results will be displayed in reverse chronologi‐
+ cal order, (that is, the newest results will be displayed
+ first).
+
+ <b>--offset=[-]N</b>
+ Skip displaying the first N results. With the leading '-',
+ start at the Nth result from the end.
+
+ <b>--limit=N</b>
+ Limit the number of displayed results to N.
+
+ <b>--exclude=(true|false|all|flag)</b>
+ A message is called "excluded" if it matches at least one tag
+ in search.tag_exclude that does not appear explicitly in the
+ search terms. This option specifies whether to omit excluded
+ messages in the search process.
+
+ The default value, <b>true</b>, prevents excluded messages from
+ matching the search terms.
+
+ <b>all</b> additionally prevents excluded messages from appearing in
+ displayed results, in effect behaving as though the excluded
+ messages do not exist.
+
+ <b>false</b> allows excluded messages to match search terms and
+ appear in displayed results. Excluded messages are still
+ marked in the relevant outputs.
+
+ <b>flag</b> only has an effect when <b>--output=summary</b>. The output is
+ almost identical to <b>false</b>, but the "match count" is the num‐
+ ber of matching non-excluded messages in the thread, rather
+ than the number of matching messages.
+
+ <b>--duplicate=N</b>
+ For <b>--output=files</b>, output the Nth filename associated with
+ each message matching the query (N is 1-based). If N is
+ greater than the number of files associated with the message,
+ don't print anything.
+
+ For <b>--output=messages</b>, only output message IDs of messages
+ matching the search terms that have at least N filenames
+ associated with them.
+
+ Note that this option is orthogonal with the <b>folder:</b> search
+ prefix. The prefix matches messages based on filenames. This
+ option filters filenames of the matching messages.
+</pre>
+
+<h2>EXIT STATUS</h2>
+<pre>
+ This command supports the following special exit status codes
+
+ <b>20</b> The requested format version is too old.
+
+ <b>21</b> The requested format version is too new.