hermes - 💡(How to fix) Fix [Bug]: email/himalaya skill — agent invents default_api.himalaya()instead of invoking via theterminal tool [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

When asked to send or read email in natural language, the agent attempts to invoke himalaya as a tool (displayed as "⚡ preparing himalaya…") and then reports: "an error occurred while trying to access the 'himalaya' tool. It seems this tool is not available in my current environment." This happens for both sending and reading. The himalaya CLI is installed and works correctly from the shell, and the terminal tool is present in the active toolset — but the agent never routes the skill's commands through terminal. It instead treats the skill name as a directly-callable tool. Observe the agent call default_api.himalaya(...) / default_api.send_email(...), hit a traceback, and report himalaya as unavailable.

Root Cause

When asked in natural language to send or read email, the agent loads the bundled email/himalaya skill, then attempts to call it as a registered Python function — e.g. default_api.himalaya(command='envelope list --output json') and default_api.send_email(message=...). Both raise tracebacks because no such functions exist. The agent then misreports the failure to the user as "himalaya is not available / not installed," even though the himalaya CLI is installed and works. Expected behavior The skill's commands (himalaya envelope list, himalaya message send, etc.) should be invoked through the terminal tool, as required by CONTRIBUTING.md: third-party CLIs should be framed as "invoke through the terminal tool," not as a function call or manual shell session. Actual behavior The agent treats the skill name as a callable in default_api and never routes the command to the terminal tool, despite terminal being present in the active toolset. Reproduction

Fix Action

Fixed

RAW_BUFFERClick to expand / collapse

What happened When asked to send or read email in natural language, the agent attempts to invoke himalaya as a tool (displayed as "⚡ preparing himalaya…") and then reports: "an error occurred while trying to access the 'himalaya' tool. It seems this tool is not available in my current environment." This happens for both sending and reading. The himalaya CLI is installed and works correctly from the shell, and the terminal tool is present in the active toolset — but the agent never routes the skill's commands through terminal. It instead treats the skill name as a directly-callable tool.

When asked in natural language to send or read email, the agent loads the bundled email/himalaya skill, then attempts to call it as a registered Python function — e.g. default_api.himalaya(command='envelope list --output json') and default_api.send_email(message=...). Both raise tracebacks because no such functions exist. The agent then misreports the failure to the user as "himalaya is not available / not installed," even though the himalaya CLI is installed and works. Expected behavior The skill's commands (himalaya envelope list, himalaya message send, etc.) should be invoked through the terminal tool, as required by CONTRIBUTING.md: third-party CLIs should be framed as "invoke through the terminal tool," not as a function call or manual shell session. Actual behavior The agent treats the skill name as a callable in default_api and never routes the command to the terminal tool, despite terminal being present in the active toolset. Reproduction

Install and configure the himalaya CLI (verified working: himalaya envelope list and himalaya message send both succeed from the shell). Start a fresh CLI session: hermes Ask: "Check my email inbox and tell me the three most recent messages" (or "Send an email to X with subject Y and body Z"). Observe the agent call default_api.himalaya(...) / default_api.send_email(...), hit a traceback, and report himalaya as unavailable.

Root cause (suspected) skills/email/himalaya/SKILL.md (v1.1.0) documents raw himalaya ... commands and says "use this from Hermes," but never frames them as invocations through the terminal tool per current CONTRIBUTING guidance. The model therefore fabricates a default_api function from the skill name. Recent commits to skills/email/ (folder.aliases docs, platforms frontmatter) did not address invocation framing. Environment

Hermes Agent v0.15.1 (2026.5.29) — confirmed reproducible after updating to latest Python 3.11.15 macOS (Apple Silicon) himalaya v1.2.0 Active toolset includes both terminal and execute_code

Notes The gateway email adapter (native IMAP/SMTP) is unaffected and works correctly — this is specifically the terminal-CLI skill invocation path.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix [Bug]: email/himalaya skill — agent invents default_api.himalaya()instead of invoking via theterminal tool [1 pull requests]