← Back to Skills Marketplace
cohenyehonatan

Himalaya Cli

by Jonathan Cohen · GitHub ↗ · v0.0.2
cross-platform ⚠ suspicious
993
Downloads
2
Stars
9
Active Installs
2
Versions
Install in OpenClaw
/install himalaya-cli
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 acc...
README (SKILL.md)

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)

IMPORTANT COMMAND STRUCTURE

Himalaya does NOT support top-level commands like:

  • himalaya list
  • himalaya search

Instead, you MUST use subcommands:

  • List emails: himalaya envelope list --output json

  • Search emails: himalaya envelope list \x3Cquery terms> --output json

  • Read message: himalaya message read \x3Cid>

  • List folders: himalaya folder list

Configuration Setup

Run the interactive wizard to set up an account:

himalaya account configure

Or create ~/.config/himalaya/config.toml manually:

[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

himalaya folder list

List Emails

List emails in INBOX (default):

himalaya envelope list

List emails in a specific folder:

himalaya envelope list --folder "Sent"

List with pagination:

himalaya envelope list --page 1 --page-size 20

Search Emails

himalaya envelope list from [email protected] subject meeting

Read an Email

Read email by ID (shows plain text):

himalaya message read 42

Export raw MIME:

himalaya message export 42 --full

Reply to an Email

Interactive reply (opens $EDITOR):

himalaya message reply 42

Reply-all:

himalaya message reply 42 --all

Forward an Email

himalaya message forward 42

Write a New Email

Interactive compose (opens $EDITOR):

himalaya message write

Send directly using template:

cat \x3C\x3C 'EOF' | himalaya template send
From: [email protected]
To: [email protected]
Subject: Test Message

Hello from Himalaya!
EOF

Or with headers flag:

himalaya message write -H "To:[email protected]" -H "Subject:Test" "Message body here"

Move/Copy Emails

Move to folder:

himalaya message move 42 "Archive"

Copy to folder:

himalaya message copy 42 "Important"

Delete an Email

himalaya message delete 42

Manage Flags

Add flag:

himalaya flag add 42 --flag seen

Remove flag:

himalaya flag remove 42 --flag seen

Multiple Accounts

List accounts:

himalaya account list

Use a specific account:

himalaya --account work envelope list

Attachments

Save attachments from a message:

himalaya attachment download 42

Save to specific directory:

himalaya attachment download 42 --dir ~/Downloads

Output Formats

Most commands support --output for structured output:

himalaya envelope list --output json
himalaya envelope list --output plain

Debugging

Enable debug logging:

RUST_LOG=debug himalaya envelope list

Full trace with backtrace:

RUST_LOG=trace RUST_BACKTRACE=1 himalaya envelope list

Tips

  • Use himalaya --help or himalaya \x3Ccommand> --help for detailed usage.
  • Message IDs are relative to the current folder; re-list after folder changes.
  • For composing rich emails with attachments, use MML syntax (see references/message-composition.md).
  • Store passwords securely using pass, system keyring, or a command that outputs the password.
Usage Guidance
This skill is a wrapper for the Himalaya terminal email client and is internally consistent. Before installing: 1) Confirm you trust the Homebrew formula source (inspect the formula or upstream repo) because it will install a binary that accesses your mail servers. 2) Prepare your ~/.config/himalaya/config.toml and IMAP/SMTP credentials — avoid storing plaintext passwords in the config; prefer keyring or a password manager (the SKILL.md shows 'pass' as an option). 3) Be aware the CLI may execute commands you configure for password retrieval (e.g., 'pass show ...'), so ensure those commands are safe and their outputs are protected. 4) Check any attachment paths you use (they reference local files) and the editor ($EDITOR) behavior. If you need the agent to send/read mail on your behalf, consider limiting account scope (app-specific passwords) and reviewing the binary's source/release checksums first.
Capability Analysis
Type: OpenClaw Skill Name: himalaya-cli Version: 0.0.2 The skill bundle is classified as suspicious due to its documentation of high-risk capabilities that, while plausibly needed for the tool's functionality, could be exploited via prompt injection against the AI agent. Specifically, the `backend.auth.cmd` configuration option, detailed in `SKILL.md` and `references/configuration.md`, allows arbitrary command execution for password retrieval, posing a shell injection risk. Additionally, the MML attachment feature, described in `references/message-composition.md`, enables attaching arbitrary local files, which could lead to data exfiltration if sensitive paths are provided by a malicious prompt.
Capability Assessment
Purpose & Capability
Name/description match the actual instructions: the skill simply runs the himalaya email CLI and offers help for common commands. The declared install (brew formula 'himalaya') and required binary ('himalaya') are appropriate. Minor inconsistency: the SKILL.md requires a local config file (~/.config/himalaya/config.toml) and IMAP/SMTP credentials, but the registry metadata did not list required config paths or credentials.
Instruction Scope
SKILL.md confines itself to invoking himalaya commands (list, read, write, reply, forward, search, manage attachments, etc.). It does not instruct the agent to read unrelated system files or exfiltrate data to external endpoints. It does reference local files (attachments, config path) and standard env vars ($EDITOR, RUST_LOG) which are reasonable for a CLI email client.
Install Mechanism
Install is via a Homebrew formula ('himalaya'), which is a normal, low-risk package manager install. No arbitrary URL downloads or archive extraction are used by the skill metadata.
Credentials
The skill metadata declares no required environment variables, which is fine because the CLI itself uses user-local config for credentials. The SKILL.md explicitly describes storing IMAP/SMTP passwords in ~/.config/himalaya/config.toml (including discouraged raw passwords) or retrieving them via commands like 'pass' or system keyring. This is expected for an email client, but users should be aware that credentials live locally (or are retrieved by shell commands) and the skill metadata does not declare those config requirements.
Persistence & Privilege
always:false and standard user-invocable/autonomous invocation defaults are used. The skill does not request persistent presence or modify other skills or system-wide agent settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install himalaya-cli
  3. After installation, invoke the skill by name or use /himalaya-cli
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.0.2
- Removed the file .clawhub/origin.json. - No user-facing feature or documentation changes.
v0.0.1
Initial release of himalaya-cli skill. - Provides terminal-based email management using HIMAP/SMTP. - Includes clear documentation for installation, configuration, and common email operations. - Describes command structure, subcommands, and output format options. - Supports multiple accounts, attachments, secure authentication, and structured output. - Features advanced usage tips, message composition (MML), and debugging guidance. - Fixes bug where OpenClaw consistently calls `himalaya list ...` etc rather than `himalaya messages list ...`
Metadata
Slug himalaya-cli
Version 0.0.2
License
All-time Installs 10
Active Installs 9
Total Versions 2
Frequently Asked Questions

What is Himalaya Cli?

CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple acc... It is an AI Agent Skill for Claude Code / OpenClaw, with 993 downloads so far.

How do I install Himalaya Cli?

Run "/install himalaya-cli" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Himalaya Cli free?

Yes, Himalaya Cli is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Himalaya Cli support?

Himalaya Cli is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Himalaya Cli?

It is built and maintained by Jonathan Cohen (@cohenyehonatan); the current version is v0.0.2.

💬 Comments