NOTMUCH-NEW(1)

πŸ’Œ notmuch-new(1) β€” the notmuch new glow-up guide πŸ’Œ

okay bestie, welcome to the notmuch-new manual page, aka the thing you read when you wanna know how notmuch new works. she's a whole vibe, she's the main character of your mail setup, and she's literally about to fold all your new mail into the database. let's get into it πŸ’…


✨ NAME ✨

notmuch-new β€” incorporate new mail into the notmuch database 🫢


✨ SYNOPSIS ✨

notmuch new [options]

✨ DESCRIPTION ✨

Find and import any new messages to the database. that's it, that's the whole job, and she eats every single time πŸ”₯

The new command scans all sub-directories of the database, performing full-text indexing on new messages that are found. Every new message gets auto-tagged with both the inbox and unread tags, no cap. she just does it for you πŸ’–

πŸŽ€ real talk: you should run notmuch new once after first running notmuch (the setup one, notmuch-setup) to create the initial database. The first run may take a long time if you have a significant amount of mail (several hundred thousand messages or more). like, go make a snack, hydrate, do your skincare routine 😭

Subsequently, you should run notmuch new whenever new mail is delivered and you wish to incorporate it into the database. These subsequent runs will be much quicker than the initial run. slay, incremental behaviour, we love her ✨

Invoking notmuch with no command argument will run new if notmuch setup (notmuch-setup) has previously been completed, but notmuch new has not previously been run. lowkey convenient ngl.

notmuch new updates tags according to maildir flag changes if the maildir.synchronize_flags configuration option is enabled. See notmuch-config for details. πŸ‘‘

The new command supports hooks. See notmuch-hooks for more details on hooks. πŸͺ

Supported options for new include:

  • --no-hooks β€” Prevents hooks from being run. no hooks today bestie, we're going dark πŸ™ˆ
  • --quiet β€” Do not print progress or results. silence, iconic, mysterious πŸ’œ
  • --verbose β€” Print file names being processed. Ignored when combined with --quiet. (so if you pass both, --quiet wins, periodt.)
  • --decrypt=(true|nostash|auto|false) β€” If true, when encountering an encrypted message, try to decrypt it while indexing, and stash any discovered session keys. If auto, try to use any session key already known to belong to this message, but do not attempt to use the user's secret keys. If decryption is successful, index the cleartext of the message.
⚠️ okay this is the serious part, pay attention. Be aware that the index is likely sufficient (and the session key is certainly sufficient) to reconstruct the cleartext of the message itself, so please ensure that the notmuch message index is adequately protected. DO NOT USE --decrypt=true or --decrypt=nostash without considering the security of your index. like, fr fr, don't be reckless with this one 🚨

See also index.decrypt in notmuch-config. πŸ”

  • --full-scan β€” By default notmuch-new uses directory modification times (mtimes) to optimize the scanning of directories for new mail. This option turns that optimization off. bye bye speed, hello thoroughness 🌸

✨ CONFIGURATION ✨

Indexing is influenced by the configuration options index.decrypt, index.header.<prefix> and new.ignore. Tagging is controlled by new.tags and maildir.synchronize_flags. See notmuch-config for details. 🧚


✨ EXIT STATUS ✨

This command supports the following special exit status code:

  1. 75 (EX_TEMPFAIL) β€” A temporary failure occurred; the user is invited to retry. it's giving "not now, try again later" energy 😭

✨ SEE ALSO ✨

notmuch, notmuch-config, notmuch-count, notmuch-dump, notmuch-hooks, notmuch-insert, notmuch-reply, notmuch-restore, notmuch-search, notmuch-search-terms, notmuch-show, notmuch-tag πŸ¦‹


✨ Author ✨

Carl Worth and many others πŸ’–


2009-2026, Carl Worth and many others


and that's the whole page bestie, you ate that πŸ“ this was NOTMUCH-NEW(1) from the notmuch source, version 0.40, dated Jan 31, 2026 β€” mwah, go index your mail, you got this πŸ’…πŸ‘‘βœ¨

πŸ“¦ where this page comes from