himalaya

Manage email via IMAP and SMTP from the terminal.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/hueidou/CoCo --skill himalaya-hueidou
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: himalaya
Source: https://github.com/hueidou/CoCo/tree/main/src/coco/agents/skills/himalaya
Command: npx skills add https://github.com/hueidou/CoCo --skill himalaya-hueidou

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill enables command-line management of email so users and automation scripts can read, search, compose, send, and organize messages without a graphical client or manual webmail interaction.

Core Features & Use Cases

  • List and navigate folders: browse mailboxes and paginate envelopes for quick triage.
  • Read and export messages: view plain text, export raw MIME, and download attachments for processing.
  • Compose and send reliably: construct messages with template write and template send pipelines for non-interactive automation, including MML composition; fallback to SMTP libraries for complex attachments.
  • Search, move, and organize: perform server-side searches, move/copy messages, manage flags, and handle multiple accounts and backends (IMAP, SMTP, Notmuch).

Quick Start

Set EDITOR to cat and send a simple email by running himalaya template write with headers and piping the output to himalaya template send.

Frequently Asked Questions about himalaya

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

FAQPage Schema
How do I manage email from the terminal using IMAP and SMTP?

You can manage email from the terminal by configuring a ~/.config/himalaya/config.toml with IMAP and SMTP credentials to list, read, compose, and send messages without a graphical client. This requires the himalaya binary on PATH.

Can I automate sending emails with attachments from a command line script?

Yes, you can automate sending emails with attachments from a script using template write and template send pipelines. For complex attachments, the system can fall back to SMTP libraries to ensure reliable non-interactive message delivery.

What is the best way to search and organize mailbox folders via CLI?

The best way to search and organize mailboxes via CLI is performing server-side searches to find messages, then moving or copying them across folders. You can also manage flags and handle multiple accounts directly from the terminal.

How do I compose and send non-interactive emails using MML?

You can compose and send non-interactive emails using MML through template write and template send pipelines. Set your EDITOR to cat, run template write with headers, and pipe the output directly to template send for automated message composition.

Does himalaya work with multiple email accounts and backends like Notmuch?

Yes, himalaya supports managing multiple email accounts and backends including IMAP, SMTP, and Notmuch. This allows you to browse different mailboxes, paginate envelopes, and switch between accounts within a single terminal-based workflow.

How do I read and export raw MIME messages or download attachments from the terminal?

To read and export messages from the terminal, you can view plain text, export raw MIME files, and download attachments for processing. This enables quick triage and integration of email data into automated scripting scenarios.