Your company here ā€” click to reach over 10,000 unique daily visitors

mu-init - Man Page

initialize the mu message database


mu [common-options] init [options]


mu init is the subcommand for setting up the mu message database. After mu init has completed, you can run mu index

Init Options

-m, --maildir=<maildir>

use <maildir> as the root-maildir.

By default, mu uses the MAILDIR environment; if it is not set, it uses ~/Maildir if it is an existing directory. If neither of those can be used, the --maildir option is required; it must be an absolute path (but ~/ expansion is performed).


specifies that some e-mail address is 'my-address' (the option can be used multiple times). Any message in which at least one of the contact fields contains such an address is considered a 'personal' messages; this can then be used for filtering in mu-find(1), mu-cfind(1) and mu4e, e.g. to filter-out mailing list messages.

<email-address-or-regex> can be either a plain e-mail address (such as foo@example.com), or a basic PCRE regular-expression (see pcre(3) for details), wrapped in / (such as /foo-.*@example\.com/). Depending on your shell, the argument may need to be quoted.


specifies that some e-mail address is to be ignored from the contacts-cache (the option can be used multiple times). Such addresses then cannot be found with mu-cfind(1) or in the Mu4e contacts cache.

<my-email-address> can be either a plain e-mail address or a regexp, just like for the --my-address option.


specifies the maximum size for an e-mail message. Usually, the default of 100000000 bytes should be fine.


the number of changes after which they are committed to the database; decreasing the value reduces the memory requirements, at the cost of make indexing substantially slower. Usually, the default of 250000 should be fine.

Batch-size 0 is interpreted as 'use the default'.


whether to enable support for using ngrams in indexing and query parsing; this can be useful for languages without explicit word breaks, such as Chinese/Japanese/Korean. See Ngram Support below for details.


reinitialize the database from an earlier version; that is, create a new empty database with the existing settings. This cannot be combined with the other init options.


use a non-default directory to store and read the database, write the logs, etc. By default, mu uses the XDG Base Directory Specification (e.g. on GNU/Linux this defaults to ~/.cache/mu and ~/.config/mu). Earlier versions of mu defaulted to ~/.mu, which now requires --muhome=~/.mu.

The environment variable MUHOME can be used as an alternative to --muhome. The latter has precedence.

Ngram Support

mu's underlying Xapian database supports 'ngrams', which improve searching for languages/scripts that do not have explicit word breaks, such as Chinese, Japanese and Korean. It is fairly intrusive, and influences both indexing and query-parsing; it is not enabled by default, and is recommended only if you need to search for messages written in such languages.

When enabled, mu automatically uses ngrams automatically. Xapian environment variables such as XAPIAN_CJK_NGRAM are ignored.

Exit Code

This command returns 0 upon successful completion, or a non-zero exit code otherwise.




no matches found. Try a different query


database schema mismatch. You need to re-initialize mu, see mu-init(1)


failed to acquire lock. Some other program has exclusive access to the mu database


caught an exception


$ mu init --maildir=~/Maildir --my-address=alice@example.com --my-address=bob@example.com --ignored-address='/.*reply.*/'

Reporting Bugs

Please report bugs at https://github.com/djcb/mu/issues.


Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>

See Also

mu-index(1), mu-find(1), mu-cfind(1), pcre(3)

Referenced By

mu(1), mu-add(1), mu-cfind(1), mu-easy(7), mu-find(1), mu-help(1), mu-index(1), mu-info(1).