himalaya

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

16|Updated Sep 22, 2026
One-click install
npx skills add https://github.com/igniteenow/robo --skill himalaya-igniteenow
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: himalaya
Source: https://github.com/igniteenow/robo/tree/main/skills/email/himalaya
Command: npx skills add https://github.com/igniteenow/robo --skill himalaya-igniteenow

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Reading, searching, and sending email normally requires a GUI client or web interface, which blocks automation. This Skill lets an agent operate a full mailbox from the terminal using the Himalaya CLI, covering IMAP reading and SMTP sending without leaving the command line. ## Core Features & Use Cases - Mailbox Operations: List folders and envelopes, search messages, read email bodies, download attachments, and move, copy, delete, or flag messages. - Non-Interactive Composition: Compose, reply, and forward emails by piping MML/MIME templates via stdin, including HTML bodies, inline images, and file attachments. - Multi-Account Configuration: Configure IMAP/SMTP, Notmuch, or OAuth2 backends for providers like Gmail and iCloud, with secure password handling via pass or keyring. - Use Case: Ask the agent to check your inbox for unread messages from a client, summarize them, and send a reply with a PDF report attached — all executed through himalaya commands with JSON output for reliable parsing. ## Quick Start Ask the agent to list the ten most recent emails in your inbox using himalaya and summarize their subjects and senders.

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 via stdin to himalaya template send, for example using a heredoc with From, To, and Subject headers. This non-interactive approach avoids opening an editor and is the recommended method for scripted or agent-driven sending.

How do I configure himalaya for Gmail IMAP and SMTP?▼

Create a config.toml account with imap.gmail.com:993 and smtp.gmail.com:587, using an app password if 2FA is enabled. You must also set folder.aliases mapping sent to [Gmail]/Sent Mail, drafts to [Gmail]/Drafts, and trash to [Gmail]/Trash.

Why does himalaya send duplicate emails on retry?▼

This happens when folder aliases use the outdated singular folder.alias syntax, which v1.2.0 silently ignores. Save-to-Sent then fails after SMTP delivery succeeds, and retrying the non-zero exit re-runs the send. Use the plural folder.aliases.X dotted keys instead.

Can himalaya handle email attachments?▼

Yes. Download attachments with himalaya attachment download followed by the message ID, optionally specifying a downloads directory. To attach files when sending, use MML syntax with part tags referencing the file path inside the composed message.

Does himalaya support multiple email accounts?▼

Yes. Define multiple account sections in config.toml and mark one as default. List accounts with himalaya account list and select a specific one at runtime using the --account flag before any command.

How do I store email passwords securely for himalaya?▼

Avoid raw passwords in config.toml. Instead use backend.auth.cmd to call a password manager such as pass, or use backend.auth.keyring with the system keyring. OAuth2 token-based authentication is also supported for providers that offer it.