himalaya

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

1|Updated Feb 17, 2026
One-click install
npx skills add https://github.com/brittb-dev/zerogravityclaw --skill himalaya-brittb-dev
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: himalaya
Source: https://github.com/brittb-dev/zerogravityclaw/tree/main/src/hermes-core/skills/email/himalaya
Command: npx skills add https://github.com/brittb-dev/zerogravityclaw --skill himalaya-brittb-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Reading, searching, and sending email normally requires a GUI client or custom API integration. This Skill lets an agent operate a full mailbox directly from the terminal using the Himalaya CLI, covering IMAP reading and SMTP sending without building email plumbing from scratch. ## Core Features & Use Cases - Mailbox Operations: List folders and envelopes, search messages, read or export raw MIME, move, copy, delete, and manage flags across multiple accounts. - Non-Interactive Composition: Compose, reply, and forward emails by piping MML templates to himalaya template send, including HTML parts, attachments, and inline images. - Structured Output: Use --output json for machine-parseable results, with detailed configuration references for Gmail, iCloud, OAuth2, and folder alias 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 send it via your configured SMTP account. ## Quick Start Ask the agent to list the ten most recent emails in your inbox using himalaya and summarize their senders and subjects.

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 to `himalaya template send` using a heredoc, or use `himalaya message write -H "To:..." -H "Subject:..." "body"`. Piping is recommended for non-interactive use since plain `message write` opens $EDITOR.

How to configure himalaya for Gmail IMAP and SMTP?▼

Use imap.gmail.com:993 with TLS and smtp.gmail.com:587 with STARTTLS, authenticating with an app password if 2FA is enabled. You must also set folder.aliases mapping sent to "[Gmail]/Sent Mail" or saving sent copies fails after delivery.

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, for example `himalaya --account work envelope list`.

Why does himalaya message send fail after the email was delivered?▼

This happens when folder aliases use the old singular `[accounts.NAME.folder.alias]` syntax, which v1.2.0 silently ignores. Save-to-Sent then fails after SMTP succeeds, and retrying sends duplicates. 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><#/part>` tags, optionally wrapped in `<#multipart type=mixed>`. Himalaya compiles these tags into proper MIME parts when sending.