himalaya
CLI to manage emails
TLDR
SYNOPSIS
himalaya [options] command [arguments]
DESCRIPTION
himalaya is a command-line interface for managing emails. Unlike TUI email clients like mutt or aerc, himalaya is a pure CLI with no event loop — you interact with your emails using shell commands in a stateless way. This makes it composable with pipes and scripts, and freely integrable with other CLI tools.
It supports multiple backends including IMAP, SMTP, Maildir, and Notmuch, with features like multi-account support, PGP encryption, and OAuth 2.0 authentication. Himalaya is designed to extract email logic into a simple CLI API that can be used directly from the terminal, from scripts, and from UIs.
PARAMETERS
list
List emails in the current folderread id
Read a specific emailwrite
Compose a new emailreply id
Reply to an emailforward id
Forward an emailsearch query
Search emailsfolders
List mail foldersattachment download id
Download attachments
CONFIGURATION
Configuration is stored in $XDG_CONFIG_HOME/himalaya/config.toml and defines accounts with backend settings for IMAP, SMTP, Maildir, or Notmuch.
CAVEATS
Initial configuration requires manual setup of mail accounts. OAuth 2.0 setup may require additional steps depending on the provider. PGP encryption requires GPG to be installed and configured.
HISTORY
himalaya was created by Clément DOUIN as part of the Pimalaya project and is written in Rust. It was designed as a Unix-philosophy approach to email, providing simple composable commands rather than a monolithic TUI application.

