Himalaya Email CLI
name: himalaya-cli
by cohenyehonatan · published 2026-03-22
$ claw add gh:cohenyehonatan/cohenyehonatan-himalaya-cli---
name: himalaya-cli
description: "CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language)."
homepage: https://github.com/pimalaya/himalaya
metadata: {"clawdbot":{"emoji":"📧","requires":{"bins":["himalaya"]},"install":[{"id":"brew","kind":"brew","formula":"himalaya","bins":["himalaya"],"label":"Install Himalaya (brew)"}]}}
---
# Himalaya Email CLI
Himalaya is a CLI email client that lets you manage emails from the terminal using IMAP, SMTP, Notmuch, or Sendmail backends.
References
Prerequisites
1. Himalaya CLI installed (`himalaya --version` to verify)
2. A configuration file at `~/.config/himalaya/config.toml`
3. IMAP/SMTP credentials configured (password stored securely)
IMPORTANT COMMAND STRUCTURE
Himalaya does NOT support top-level commands like:
Instead, you MUST use subcommands:
`himalaya envelope list --output json`
`himalaya envelope list <query terms> --output json`
`himalaya message read <id>`
`himalaya folder list`
Configuration Setup
Run the interactive wizard to set up an account:
himalaya account configureOr create `~/.config/himalaya/config.toml` manually:
[accounts.personal]
email = "you@example.com"
display-name = "Your Name"
default = true
backend.type = "imap"
backend.host = "imap.example.com"
backend.port = 993
backend.encryption.type = "tls"
backend.login = "you@example.com"
backend.auth.type = "password"
backend.auth.cmd = "pass show email/imap" # or use keyring
message.send.backend.type = "smtp"
message.send.backend.host = "smtp.example.com"
message.send.backend.port = 587
message.send.backend.encryption.type = "start-tls"
message.send.backend.login = "you@example.com"
message.send.backend.auth.type = "password"
message.send.backend.auth.cmd = "pass show email/smtp"Common Operations
List Folders
himalaya folder listList Emails
List emails in INBOX (default):
himalaya envelope listList emails in a specific folder:
himalaya envelope list --folder "Sent"List with pagination:
himalaya envelope list --page 1 --page-size 20Search Emails
himalaya envelope list from john@example.com subject meetingRead an Email
Read email by ID (shows plain text):
himalaya message read 42Export raw MIME:
himalaya message export 42 --fullReply to an Email
Interactive reply (opens $EDITOR):
himalaya message reply 42Reply-all:
himalaya message reply 42 --allForward an Email
himalaya message forward 42Write a New Email
Interactive compose (opens $EDITOR):
himalaya message writeSend directly using template:
cat << 'EOF' | himalaya template send
From: you@example.com
To: recipient@example.com
Subject: Test Message
Hello from Himalaya!
EOFOr with headers flag:
himalaya message write -H "To:recipient@example.com" -H "Subject:Test" "Message body here"Move/Copy Emails
Move to folder:
himalaya message move 42 "Archive"Copy to folder:
himalaya message copy 42 "Important"Delete an Email
himalaya message delete 42Manage Flags
Add flag:
himalaya flag add 42 --flag seenRemove flag:
himalaya flag remove 42 --flag seenMultiple Accounts
List accounts:
himalaya account listUse a specific account:
himalaya --account work envelope listAttachments
Save attachments from a message:
himalaya attachment download 42Save to specific directory:
himalaya attachment download 42 --dir ~/DownloadsOutput Formats
Most commands support `--output` for structured output:
himalaya envelope list --output json
himalaya envelope list --output plainDebugging
Enable debug logging:
RUST_LOG=debug himalaya envelope listFull trace with backtrace:
RUST_LOG=trace RUST_BACKTRACE=1 himalaya envelope listTips
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...