himalaya

Manage emails via IMAP and SMTP from the terminal using the himalaya CLI.

1|Updated Mar 3, 2026
One-click install
npx skills add https://github.com/Cyandex/ErnOS --skill himalaya-cyandex
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: himalaya
Source: https://github.com/Cyandex/ErnOS/tree/main/skills/himalaya
Command: npx skills add https://github.com/Cyandex/ErnOS --skill himalaya-cyandex

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Reading, searching, and sending email usually requires a GUI client or web interface, which breaks terminal-based and automated workflows. This Skill lets you handle the full email lifecycle—listing, reading, replying, forwarding, moving, and organizing messages—directly from the command line. ## Core Features & Use Cases - Full Email Operations: List envelopes, read messages, reply, forward, delete, move/copy between folders, and manage flags across multiple accounts. - Rich Composition with MML: Compose multipart emails with HTML bodies, attachments, and inline images using MIME Meta Language templates. - Structured Output & Automation: Use --output json for machine-readable results, making it easy to script email processing pipelines. - Use Case: Imagine you need to triage a support inbox each morning. Use this Skill to search unread messages from specific senders, read their content, reply with a templated response, and archive the thread—all without leaving the terminal. ## Quick Start Use the himalaya skill to list the 20 most recent emails in my inbox and show me any unread messages from my manager.

Frequently Asked Questions about himalaya

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

FAQPage Schema
How do I read and reply to emails from the command line?▼

Use himalaya envelope list to see message IDs, himalaya message read <id> to view content, and himalaya message reply <id> to respond in your editor. Add --all for reply-all, or pipe a template to himalaya template send for non-interactive sending.

How do I configure himalaya for Gmail or iCloud?▼

Create ~/.config/himalaya/config.toml with an IMAP backend (imap.gmail.com:993 or imap.mail.me.com:993) and SMTP backend for sending. Both providers require an app-specific password when two-factor authentication is enabled.

Does himalaya support multiple email accounts?▼

Yes, define multiple [accounts.name] sections in the config file and mark one as default. Switch between them at runtime with the --account flag, for example himalaya --account work envelope list.

How do I send an email with attachments using himalaya?▼

Compose the message using MML syntax with <#part filename=/path/to/file.pdf> tags inside a multipart/mixed block, then send via himalaya template send. The MML is compiled into proper MIME structure on send.

Why does himalaya fail to authenticate with my email provider?▼

Authentication failures usually come from incorrect backend.auth settings or providers blocking plain passwords. Use an app-specific password, verify the auth.cmd command outputs the correct password, and debug with RUST_LOG=debug.