himalaya

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

Updated Jun 7, 2026
One-click install
npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill himalaya-chensihakniroth
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: himalaya
Source: https://github.com/Chensihakniroth/ANAKOT-AGENT/tree/main/skills/email/himalaya
Command: npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill himalaya-chensihakniroth

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires himalaya, and includes references (resource) components.

What problem does it solve? Reading, searching, composing, and organizing email normally requires a GUI client or web interface, which blocks automation. This Skill lets an agent operate a full mailbox from the terminal via the Himalaya CLI, covering IMAP/SMTP workflows end to end. ## Core Features & Use Cases - Mailbox Operations: List folders and envelopes, search messages, read or export raw MIME, move, copy, delete, and manage flags. - Non-Interactive Composition: Send, reply, and forward by piping MML templates through himalaya template send, with support for HTML parts, attachments, and inline images. - Multi-Account Configuration: Configure IMAP/SMTP, Gmail, iCloud, Notmuch, and OAuth2 backends with secure password handling via pass or keyring, plus correct folder alias mapping to avoid duplicate-send pitfalls. - Use Case: Ask the agent to check your inbox for unread messages from a client, draft a reply quoting the original thread, attach a PDF report, and archive the conversation — all without opening a mail app. ## Quick Start Use the himalaya skill to list the ten most recent emails in my inbox and summarize any unread messages.

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` via stdin, for example using a heredoc with From, To, and Subject headers. This non-interactive approach avoids opening an editor and works reliably in scripts and agents.

How to configure himalaya for Gmail IMAP and SMTP?▼

Create a config.toml account pointing to imap.gmail.com:993 and smtp.gmail.com:587 with an app password. You must also set folder.aliases mapping sent to "[Gmail]/Sent Mail", otherwise saving to Sent fails after delivery and retries cause duplicate emails.

Does himalaya support multiple email accounts?▼

Yes, define multiple [accounts.NAME] sections in config.toml and mark one as default. Switch between them at runtime with the `--account` flag, such as `himalaya --account work envelope list`.

Why does himalaya message send fail on Gmail after the email is delivered?▼

This happens when folder aliases use the outdated singular `[accounts.NAME.folder.alias]` syntax, which v1.2.0 silently ignores. The save-to-Sent step then fails after SMTP succeeds, and retrying resends the message. Use the plural `folder.aliases.X` dotted keys instead.

Can himalaya add attachments to outgoing emails?▼

Yes, use MML syntax in the message body with `<#part filename=/path/to/file.pdf>` tags, which compile to proper MIME parts when sent. Multiple attachments, custom names, and inline images with content IDs are also supported.