himalaya

Manage IMAP and SMTP email accounts from the terminal using the Himalaya CLI.

Updated May 4, 2026
One-click install
npx skills add https://github.com/Junkfooooood/hermes-governance --skill himalaya-junkfooooood
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: himalaya
Source: https://github.com/Junkfooooood/hermes-governance/tree/main/skills/email/himalaya
Command: npx skills add https://github.com/Junkfooooood/hermes-governance --skill himalaya-junkfooooood

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Reading, searching, and sending email typically requires a GUI client or web interface, which breaks terminal-based and automated workflows. This Skill lets you perform full email operations—listing, reading, composing, replying, moving, and deleting messages—directly from the command line via the Himalaya CLI. ## Core Features & Use Cases - Full mailbox management: List folders and envelopes, search messages, read emails, download attachments, and manage flags across IMAP accounts. - Non-interactive composition: Send, reply, and forward emails by piping MML/MIME templates through stdin, with support for HTML parts, attachments, and inline images. - Multi-account support: Configure and switch between multiple IMAP/SMTP accounts (Gmail, iCloud, custom servers) with secure password handling via pass, keyring, or OAuth2. - Use Case: An AI agent monitoring a support inbox can search for unread messages from a specific sender, read the content, and pipe an automated reply—all without leaving the terminal. ## Quick Start Use the himalaya skill to list the ten most recent emails in my inbox and show me the subject and sender of each.

Frequently Asked Questions about himalaya

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send an email from the command line with Himalaya?

Pipe a message with headers and body into himalaya template send using a heredoc or cat. Include From, To, and Subject headers followed by a blank line and the body text, and Himalaya delivers it through your configured SMTP backend.

How do I configure Himalaya for Gmail IMAP and SMTP?

Create a config.toml account with imap.gmail.com:993 for the IMAP backend and smtp.gmail.com:587 with STARTTLS for sending. Gmail requires an app password when 2FA is enabled, which you can supply via a pass command or keyring entry.

Does Himalaya support multiple email accounts?

Yes, you can define multiple accounts in config.toml under separate [accounts.name] sections. Switch between them at runtime using the --account flag, for example himalaya --account work envelope list.

How do I add attachments to emails sent from the terminal?

Use MML syntax in the message body with a part tag specifying the filename, such as <#part filename=/path/to/file.pdf><#/part>. Himalaya compiles the MML into a proper MIME multipart message when sending.

Why does himalaya message write open an editor instead of sending?

Without piped input, himalaya message write launches your $EDITOR for interactive composition. For non-interactive use, pipe the message via stdin to himalaya template send or pass headers with the -H flag.