himalaya

Manage emails from the terminal using the Himalaya CLI with IMAP and SMTP backends.

6|1|Updated May 11, 2026
One-click install
npx skills add https://github.com/yakeworld/Synthos --skill himalaya-yakeworld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: himalaya
Source: https://github.com/yakeworld/Synthos/tree/main/skills/extended/external-automation/email/himalaya
Command: npx skills add https://github.com/yakeworld/Synthos --skill himalaya-yakeworld

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Reading, searching, sending, and organizing email from scripts or AI agents is awkward with GUI clients and raw protocol libraries. This Skill wraps the Himalaya CLI so you can perform full email operations—listing, reading, composing, replying, forwarding, moving, and deleting—directly from the terminal with structured JSON output. ## Core Features & Use Cases - Full Email Operations: List folders and envelopes, search and read messages, send/reply/forward via piped templates, move/copy/delete messages, manage flags, and download attachments. - Multi-Account & Secure Auth: Configure multiple IMAP/SMTP accounts in config.toml with passwords sourced from pass or the system keyring instead of plaintext. - Agent-Friendly Patterns: Non-interactive sending via cat << EOF | himalaya template send, --output json for programmatic parsing, and guidance for the v1.2.0 folder.aliases.X syntax to avoid duplicate-send failures on Gmail. - Use Case: An automation agent needs to email a weekly report and then verify delivery. It pipes a composed message to himalaya template send, then runs himalaya envelope list --folder Sent --output json to confirm—no editor interaction required. ## Quick Start Ask the agent to send an email to a recipient with a subject and body using himalaya's piped template send, then list the Sent folder as JSON to confirm delivery.

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 composed message with From, To, and Subject headers into `himalaya template send` using a heredoc. This non-interactive approach avoids opening $EDITOR and works reliably in scripts and agent environments.

How do I configure himalaya for Gmail IMAP and SMTP?

Point the IMAP backend to imap.gmail.com:993 and SMTP to smtp.gmail.com:587 with an app password. You must also set folder.aliases.sent to "[Gmail]/Sent Mail" using the plural dotted-key syntax, or saving sent mail fails after delivery.

Why does himalaya message send fail with a non-zero exit code on Gmail?

Himalaya v1.2.0 silently ignores the old singular `[account.folder.alias]` sub-section, so the Sent folder lookup falls back to the canonical name and fails after SMTP delivery succeeds. Fix the config to `folder.aliases.X` syntax before retrying, since blind retries send duplicate emails.

Can himalaya output JSON for scripting?

Yes, most commands accept `--output json` for structured output that is easy to parse programmatically. Use it for envelope listing and status checks instead of parsing plain text.

How should I store email passwords for himalaya?

Use `backend.auth.cmd` pointing to a command like `pass show email/imap` or a system keyring query instead of `backend.auth.raw`. This keeps credentials out of the plaintext config.toml file.