ConfigsJul 20, 2026·2 min read

Himalaya — CLI Email Client Written in Rust

A terminal-based email client that supports IMAP, SMTP, Notmuch, and Maildir backends. Offers email listing, reading, writing, and management with PGP encryption support, all from the command line.

Agent ready

Safe staging for this asset

This asset is staged first. The copied prompt tells the agent to inspect the staged files and ask before activating scripts, MCP config, or global config.

Stage only · 29/100Policy: stage
Agent surface
Any MCP/CLI agent
Kind
CLI Tool
Install
Single
Trust
Trust: Established
Entrypoint
Himalaya
Safe staging command
npx -y tokrepo@latest install 2e9d95da-8458-11f1-9bc6-00163e2b0d79 --target codex

Stages files first; activation requires review of the staged README and plan.

Introduction

Himalaya is a command-line email client built in Rust that brings full email management to the terminal. It supports multiple backends and provides a scriptable interface for reading, writing, and organizing email.

What Himalaya Does

  • Lists, reads, and searches emails from the terminal
  • Composes and sends emails with attachment support
  • Manages folders and moves or copies messages between them
  • Supports multiple email accounts with different backends
  • Provides PGP encryption and signing via GPG integration

Architecture Overview

Himalaya is built on top of the Pimalaya email libraries, which provide backend-agnostic email operations. The CLI layer parses commands and delegates to backend implementations for IMAP, SMTP, Notmuch, Maildir, and sendmail. Configuration is stored in a TOML file. The Rust implementation ensures fast startup and low memory usage.

Self-Hosting & Configuration

  • Install via Homebrew, Cargo, AUR, Nix, or prebuilt binaries
  • Configuration file lives at ~/.config/himalaya/config.toml
  • Each account section defines the backend (IMAP, Notmuch, or Maildir)
  • SMTP or sendmail is configured for outgoing mail
  • OAuth2 authentication is supported for Gmail and Outlook

Key Features

  • Multiple backend support: IMAP, Notmuch, Maildir, and sendmail
  • PGP encryption and signing through native GPG integration
  • Vim and Emacs integration plugins for composing emails in your editor
  • JSON output mode for scripting and automation pipelines
  • Multi-account management in a single configuration file

Comparison with Similar Tools

  • mutt/neomutt — C-based TUI email client; Himalaya is Rust-based and more scriptable as a CLI
  • aerc — Go-based terminal email client; Himalaya focuses on CLI commands over a persistent TUI
  • Thunderbird — GUI email client; Himalaya is fully terminal-native
  • notmuch — email indexer and search; Himalaya uses Notmuch as one of its backends
  • mailx/mail — basic Unix mail; Himalaya adds modern features like OAuth2 and PGP

FAQ

Q: Does Himalaya support Gmail? A: Yes. It supports Gmail via IMAP/SMTP with OAuth2 authentication.

Q: Can I use my preferred text editor for composing? A: Yes. Himalaya opens your $EDITOR for composing emails. Vim and Emacs plugins add extra integration.

Q: Does it support HTML emails? A: It renders HTML emails as plain text in the terminal. You can pipe HTML to a browser for full rendering.

Q: Is there a TUI mode? A: Himalaya is primarily a CLI tool. For a TUI experience, consider pairing it with a wrapper or using the Vim/Emacs plugins.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets