---
name: "himalaya"
section: "1"
platform: "linux"
package: "himalaya"
version: "2.2.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/himalaya"
---

# himalaya(1)

CLI to manage emails

## NAME

himalaya - CLI to manage emails

## SYNOPSIS

**himalaya** \[**-c**\|**--config**\] \[**-a**\|**--account**\] \[**-b**\|**--backend**\] \[**--json**\] \[**--log-level**\] \[**--log-file**\] \[**-h**\|**--help**\] \[**-V**\|**--version**\] \[*subcommands*\]

## DESCRIPTION

CLI to manage emails.

First time here? Run \`himalaya\` with no command: it offers to generate an account discovered from your email address, which \`himalaya configure\` does again later. Everything discovery does not cover is written by hand.

## OPTIONS

- **-c**, **--config** *\<PATH\>*

  Override the default configuration file path.

  Paths are shell-expanded then canonicalized, and several may be given at once, delimited by \`:\` like \`$PATH\`. The first is the base and the rest are merged on top, which is how a public configuration stays separate from the private ones.

- **-a**, **--account** *\<NAME\>*

  Override the default account.

  An account name corresponds to an entry in the table at the root level of your TOML configuration file.

- **-b**, **--backend** *\<BACKEND\>* \[default: auto\]

  Force a specific backend for cross-protocol commands.

  Only the shared commands read it, the protocol-specific ones always using their own backend. \`auto\`, the default, picks the first configured backend the command supports; an explicit value bails when the account has no such block, or the command no such implementation.\

  *Possible values:*

  - •

    auto: Let the command pick the first backend it is configured for

  - •

    imap: Pin the command to the account's IMAP backend

  - •

    jmap: Pin the command to the account's JMAP backend

  - •

    gmail: Pin the command to the account's Gmail backend

  - •

    msgraph: Pin the command to the account's Microsoft Graph backend

  - •

    maildir: Pin the command to the account's Maildir backend

  - •

    m2dir: Pin the command to the account's m2dir backend

  - •

    mbox: Pin the command to the account's mbox backend

  - •

    pimdir: Pin the command to the account's pimdir backend

  - •

    smtp: Pin the command to the account's SMTP backend

  - •

    sieve: Pin the command to the account's ManageSieve backend

- **--json**

  Enable JSON output.

  When set, command output (data or errors) is displayed as JSON string.

- **--log-level** *\<LEVEL\>*

  Filter log output by level.

  When omitted, the \`RUST\_LOG\` environment variable is consulted (it supports per-target filters — see the \`env\_logger\` documentation). When present, this flag overrides \`RUST\_LOG\` entirely.\

  *Possible values:*

  - •

    off: No logging

  - •

    error: Errors only

  - •

    warn: Warnings and errors

  - •

    info: Informational messages and above

  - •

    debug: Debug messages and above

  - •

    trace: Trace messages and above (most verbose)

- **--log-file** *\<PATH\>*

  Append log output to the given file instead of stderr.

  Useful when interactive prompts (which always write to stderr) would otherwise be intermixed with log lines. The file is opened in append mode and created if it does not exist.

- **-h**, **--help**

  Print help (see a summary with '-h')

- **-V**, **--version**

  Print version

## SUBCOMMANDS

- [himalaya-mailbox(1)](/himalaya-mailbox/1.md)

  Manage mailboxes using the shared API

- [himalaya-envelope(1)](/himalaya-envelope/1.md)

  Manage envelopes using the shared API

- [himalaya-flag(1)](/himalaya-flag/1.md)

  Manage flags using the shared API

- [himalaya-message(1)](/himalaya-message/1.md)

  Manage messages using the shared API

- [himalaya-attachment(1)](/himalaya-attachment/1.md)

  Manage attachments using the shared API

- [himalaya-imap(1)](/himalaya-imap/1.md)

  IMAP-specific API

- [himalaya-jmap(1)](/himalaya-jmap/1.md)

  JMAP-specific API

- [himalaya-gmail(1)](/himalaya-gmail/1.md)

  Gmail-specific API

- [himalaya-msgraph(1)](/himalaya-msgraph/1.md)

  Microsoft Graph-specific API

- [himalaya-maildir(1)](/himalaya-maildir/1.md)

  Maildir-specific API

- [himalaya-mbox(1)](/himalaya-mbox/1.md)

  mbox-specific API

- [himalaya-pimdir(1)](/himalaya-pimdir/1.md)

  pimdir-specific API

- [himalaya-smtp(1)](/himalaya-smtp/1.md)

  SMTP-specific API

- [himalaya-sieve(1)](/himalaya-sieve/1.md)

  ManageSieve-specific API

- [himalaya-configure(1)](/himalaya-configure/1.md)

  Configure an account interactively

- [himalaya-account(1)](/himalaya-account/1.md)

  Manage accounts defined in the TOML configuration file

- [himalaya-completion(1)](/himalaya-completion/1.md)

  Generate completion script for the given shell(s)

- [himalaya-manual(1)](/himalaya-manual/1.md)

  Generate manual page for the given command(s)

- [himalaya-json-schema(1)](/himalaya-json-schema/1.md)

  Generate JSON Schema of the given command(s) JSON output

- himalaya-help(1)

  Print this message or the help of the given subcommand(s)

## EXTRA

Report bugs to:\
   https://github.com/pimalaya/himalaya/issues/

Sponsoring:\
   https://pimalaya.org/sponsor/

This program is part of Pimalaya, free software funded entirely by grants and donations. If you find it useful, consider sponsoring its development.

## VERSION

vv2.2.1 +vendored +gmail +jmap +msgraph +rustls-ring +maildir +mbox +pimdir +imap +sieve +smtp build: linux gnu x86\_64 git: unknown, rev unknown

## AUTHORS

Clément DOUIN (soywod) \<pimalaya.org@posteo.net\>
