Himalaya
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Rank
62
Safety
84
Downloads
43k
Updated
May 19, 2026
Version
1.0.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 43K downloads reported by the source. Last updated 5/19/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Adoption signal
- 43K downloadsadoption · observed May 19, 2026
- Vendor
- Clawhubvendor · observed May 17, 2026
- Protocol compatibility
- OpenClawcompatibility · observed May 17, 2026
- Adoption signal
- 42.7K downloadsadoption · observed May 17, 2026
- Latest release
- 1.0.0release · observed Jan 9, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install publishers:lamelas:himalaya- Install using `clawhub skill install publishers:lamelas:himalaya` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/lamelas/himalaya before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-lamelas-himalaya-2/snapshot"
Documentation
CLAWHUB
13,455 characters of source documentation, loaded on request.
Extracted files
4 files captured from the source.
SKILL.md
---
name: himalaya
description: "CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language)."
homepage: https://github.com/pimalaya/himalaya
metadata: {"clawdbot":{"emoji":"📧","requires":{"bins":["himalaya"]},"install":[{"id":"brew","kind":"brew","formula":"himalaya","bins":["himalaya"],"label":"Install Himalaya (brew)"}]}}
---
# Himalaya Email CLI
Himalaya is a CLI email client that lets you manage emails from the terminal using IMAP, SMTP, Notmuch, or Sendmail backends.
## References
- `references/configuration.md` (config file setup + IMAP/SMTP authentication)
- `references/message-composition.md` (MML syntax for composing emails)
## Prerequisites
1. Himalaya CLI installed (`himalaya --version` to verify)
2. A configuration file at `~/.config/himalaya/config.toml`
3. IMAP/SMTP credentials configured (password stored securely)
## Configuration Setup
Run the interactive wizard to set up an account:
```bash
himalaya account configure
```
Or create `~/.config/himalaya/config.toml` manually:
```toml
[accounts.personal]
email = "[email protected]"
display-name = "Your Name"
default = true
backend.type = "imap"
backend.host = "imap.example.com"
backend.port = 993
backend.encryption.type = "tls"
backend.login = "[email protected]"
backend.auth.type = "password"
backend.auth.cmd = "pass show email/imap" # or use keyring
message.send.backend.type = "smtp"
message.send.backend.host = "smtp.example.com"
message.send.backend.port = 587
message.send.backend.encryption.type = "start-tls"
message.send.backend.login = "[email protected]"
message.send.backend.auth.type = "password"
message.send.backend.auth.cmd = "pass show email/smtp"
```
## Common Operations
### List Folders
```bash
himalaya folder list
```
### List Emails
List emails in INBOX (default):
```bash
himalaya envelope list
```
List emails in a specific folder:
```bash
himalaya envelope list --folder "Sent"
```
List with pagination:
```bash
himalaya envelope list --page 1 --page-size 20
```
### Search Emails
```bash
himalaya envelope list from [email protected] subject meeting
```
### Read an Email
Read email by ID (shows plain text):
```bash
himalaya message read 42
```
Export raw MIME:
```bash
himalaya message export 42 --full
```
### Reply to an Email
Interactive reply (opens $EDITOR):
```bash
himalaya message reply 42
```
Reply-all:
```bash
himalaya message reply 42 --all
```
### Forward an Email
```bash
himalaya message forward 42
```
### Write a New Email
Interactive compose (opens $EDITOR):
```bash
himalaya message write
```
Send directly using template:
```bash
cat << 'EOF' | himalaya template send
From: [email protected]
To: [email protected]
Subject: Test Message
Hello from Himalaya!
EOF
```
Or with headers flag:
```bash
himalaya message write -H "To:[email protected]" -H "Subject:Test" "Message body_meta.json
{
"ownerId": "kn71t8cr12n54xdhz51fncgg0h7yr8dt",
"slug": "himalaya",
"version": "1.0.0",
"publishedAt": 1767954271328
}references/configuration.md
# Himalaya Configuration Reference Configuration file location: `~/.config/himalaya/config.toml` ## Minimal IMAP + SMTP Setup ```toml [accounts.default] email = "[email protected]" display-name = "Your Name" default = true # IMAP backend for reading emails backend.type = "imap" backend.host = "imap.example.com" backend.port = 993 backend.encryption.type = "tls" backend.login = "[email protected]" backend.auth.type = "password" backend.auth.raw = "your-password" # SMTP backend for sending emails message.send.backend.type = "smtp" message.send.backend.host = "smtp.example.com" message.send.backend.port = 587 message.send.backend.encryption.type = "start-tls" message.send.backend.login = "[email protected]" message.send.backend.auth.type = "password" message.send.backend.auth.raw = "your-password" ``` ## Password Options ### Raw password (testing only, not recommended) ```toml backend.auth.raw = "your-password" ``` ### Password from command (recommended) ```toml backend.auth.cmd = "pass show email/imap" # backend.auth.cmd = "security find-generic-password -a [email protected] -s imap -w" ``` ### System keyring (requires keyring feature) ```toml backend.auth.keyring = "imap-example" ``` Then run `himalaya account configure <account>` to store the password. ## Gmail Configuration ```toml [accounts.gmail] email = "[email protected]" display-name = "Your Name" default = true backend.type = "imap" backend.host = "imap.gmail.com" backend.port = 993 backend.encryption.type = "tls" backend.login = "[email protected]" backend.auth.type = "password" backend.auth.cmd = "pass show google/app-password" message.send.backend.type = "smtp" message.send.backend.host = "smtp.gmail.com" message.send.backend.port = 587 message.send.backend.encryption.type = "start-tls" message.send.backend.login = "[email protected]" message.send.backend.auth.type = "password" message.send.backend.auth.cmd = "pass show google/app-password" ``` **Note:** Gmail requires an App Password if 2FA is enabled. ## iCloud Configuration ```toml [accounts.icloud] email = "[email protected]" display-name = "Your Name" backend.type = "imap" backend.host = "imap.mail.me.com" backend.port = 993 backend.encryption.type = "tls" backend.login = "[email protected]" backend.auth.type = "password" backend.auth.cmd = "pass show icloud/app-password" message.send.backend.type = "smtp" message.send.backend.host = "smtp.mail.me.com" message.send.backend.port = 587 message.send.backend.encryption.type = "start-tls" message.send.backend.login = "[email protected]" message.send.backend.auth.type = "password" message.send.backend.auth.cmd = "pass show icloud/app-password" ``` **Note:** Generate an app-specific password at appleid.apple.com ## Folder Aliases Map custom folder names: ```toml [accounts.default.folder.alias] inbox = "INBOX" sent = "Sent" drafts = "Drafts" trash = "Trash" ``` ## Multiple Accounts ```toml [accounts.personal] email = "[email protected]" default = true # ... backend config ... [accounts.w
references/message-composition.md
# Message Composition with MML (MIME Meta Language) Himalaya uses MML for composing emails. MML is a simple XML-based syntax that compiles to MIME messages. ## Basic Message Structure An email message is a list of **headers** followed by a **body**, separated by a blank line: ``` From: [email protected] To: [email protected] Subject: Hello World This is the message body. ``` ## Headers Common headers: - `From`: Sender address - `To`: Primary recipient(s) - `Cc`: Carbon copy recipients - `Bcc`: Blind carbon copy recipients - `Subject`: Message subject - `Reply-To`: Address for replies (if different from From) - `In-Reply-To`: Message ID being replied to ### Address Formats ``` To: [email protected] To: John Doe <[email protected]> To: "John Doe" <[email protected]> To: [email protected], [email protected], "Jane" <[email protected]> ``` ## Plain Text Body Simple plain text email: ``` From: alice@localhost To: bob@localhost Subject: Plain Text Example Hello, this is a plain text email. No special formatting needed. Best, Alice ``` ## MML for Rich Emails ### Multipart Messages Alternative text/html parts: ``` From: alice@localhost To: bob@localhost Subject: Multipart Example <#multipart type=alternative> This is the plain text version. <#part type=text/html> <html><body><h1>This is the HTML version</h1></body></html> <#/multipart> ``` ### Attachments Attach a file: ``` From: alice@localhost To: bob@localhost Subject: With Attachment Here is the document you requested. <#part filename=/path/to/document.pdf><#/part> ``` Attachment with custom name: ``` <#part filename=/path/to/file.pdf name=report.pdf><#/part> ``` Multiple attachments: ``` <#part filename=/path/to/doc1.pdf><#/part> <#part filename=/path/to/doc2.pdf><#/part> ``` ### Inline Images Embed an image inline: ``` From: alice@localhost To: bob@localhost Subject: Inline Image <#multipart type=related> <#part type=text/html> <html><body> <p>Check out this image:</p> <img src="cid:image1"> </body></html> <#part disposition=inline id=image1 filename=/path/to/image.png><#/part> <#/multipart> ``` ### Mixed Content (Text + Attachments) ``` From: alice@localhost To: bob@localhost Subject: Mixed Content <#multipart type=mixed> <#part type=text/plain> Please find the attached files. Best, Alice <#part filename=/path/to/file1.pdf><#/part> <#part filename=/path/to/file2.zip><#/part> <#/multipart> ``` ## MML Tag Reference ### `<#multipart>` Groups multiple parts together. - `type=alternative`: Different representations of same content - `type=mixed`: Independent parts (text + attachments) - `type=related`: Parts that reference each other (HTML + images) ### `<#part>` Defines a message part. - `type=<mime-type>`: Content type (e.g., `text/html`, `application/pdf`) - `filename=<path>`: File to attach - `name=<name>`: Display name for attachment - `disposition=inline`: Display inline instead of as attachment - `id=<cid>`: Content ID for referencing in HTML ## Composing from
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "43K downloads",
"href": "https://clawhub.ai/lamelas/himalaya",
"sourceUrl": "https://clawhub.ai/lamelas/himalaya",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-19T07:01:03.995Z",
"isPublic": true
},
{
"factKey": "vendor",
"label": "Vendor",
"value": "Clawhub",
"category": "vendor",
"href": "https://clawhub.ai/lamelas/himalaya",
"sourceUrl": "https://clawhub.ai/lamelas/himalaya",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-17T07:00:39.638Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "protocols",
"label": "Protocol compatibility",
"value": "OpenClaw",
"category": "compatibility",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-lamelas-himalaya-2/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-lamelas-himalaya-2/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-05-17T07:00:39.638Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "traction",
"label": "Adoption signal",
"value": "42.7K downloads",
"category": "adoption",
"href": "https://clawhub.ai/lamelas/himalaya",
"sourceUrl": "https://clawhub.ai/lamelas/himalaya",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-17T07:00:39.638Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "latest_release",
"label": "Latest release",
"value": "1.0.0",
"category": "release",
"href": "https://clawhub.ai/lamelas/himalaya",
"sourceUrl": "https://clawhub.ai/lamelas/himalaya",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-01-09T10:24:31.328Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "handshake_status",
"label": "Handshake status",
"value": "UNKNOWN",
"category": "security",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-lamelas-himalaya-2/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-lamelas-himalaya-2/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true,
"metadata": {}
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.0",
"description": "Initial release of Himalaya CLI email client skill. - Provides terminal-based email management via IMAP/SMTP. - Supports listing, reading, composing, replying, forwarding, searching, and organizing emails. - Includes multi-account support and message composition with MML. - Detailed setup and configuration instructions included. - Enables handling attachments, output customization, and debugging via logging.",
"href": "https://clawhub.ai/lamelas/himalaya",
"sourceUrl": "https://clawhub.ai/lamelas/himalaya",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-01-09T10:24:31.328Z",
"isPublic": true,
"metadata": {}
}
]
}Record generated Oct 9, 2026.
