hermes - ✅(Solved) Fix [Bug]: when using SSH terminal backend skills are created on the SSH sandbox [1 pull requests, 1 participants]

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…
GitHub stats
NousResearch/hermes-agent#20369Fetched 2026-05-06 06:37:05
View on GitHub
Comments
0
Participants
1
Timeline
7
Reactions
0
Author
Participants
Timeline (top)
labeled ×4cross-referenced ×1referenced ×1renamed ×1

Error Message

Additional Logs / Traceback (optional)

Root Cause

Root Cause Analysis (optional)

Fix Action

Fixed

PR fix notes

PR #20491: fix(skills): steer skill writes to host tool

Description (problem / solution / changelog)

Summary

  • make skill-management guidance explicit that skill_manage writes in the Hermes host process
  • warn terminal users not to create/edit Hermes skills through remote SSH/container terminal backends
  • add prompt/schema regression coverage for the host-side skill-write contract

Fixes #20369.

Verification

  • scripts/run_tests.sh tests/agent/test_prompt_builder.py::TestGuidanceConstants::test_skills_guidance_routes_skill_files_to_host_tool tests/tools/test_skill_manager_tool.py::TestSkillManageSchemaGuidance::test_schema_explains_skill_writes_are_host_side tests/tools/test_terminal_foreground_timeout_cap.py::TestForegroundMaxTimeoutConstant::test_schema_defers_skill_files_to_skill_manage
  • scripts/run_tests.sh tests/agent/test_prompt_builder.py tests/tools/test_skill_manager_tool.py tests/tools/test_terminal_foreground_timeout_cap.py
  • git diff --check -- agent/prompt_builder.py tools/skill_manager_tool.py tools/terminal_tool.py tests/agent/test_prompt_builder.py tests/tools/test_skill_manager_tool.py tests/tools/test_terminal_foreground_timeout_cap.py

Changed files

  • agent/prompt_builder.py (modified, +6/-1)
  • tests/agent/test_prompt_builder.py (modified, +6/-1)
  • tests/tools/test_skill_manager_tool.py (modified, +9/-0)
  • tests/tools/test_terminal_foreground_timeout_cap.py (modified, +9/-0)
  • tools/skill_manager_tool.py (modified, +5/-1)
  • tools/terminal_tool.py (modified, +2/-0)

Code Example

--- hermes dump ---
version:          0.12.0 (2026.4.30) [13a7cbcd]
os:               Linux 6.17.0-1013-azure x86_64
python:           3.12.3
openai_sdk:       2.24.0
profile:          default
hermes_home:      ~/.hermes
model:            tencent/hy3-preview:free
provider:         openrouter
terminal:         ssh

api_keys:
  openrouter           set
  openai               not set
  anthropic            not set
  anthropic_token      not set
  nous                 not set
  google/gemini        set
  gemini               not set
  glm/zai              not set
  zai                  not set
  kimi                 not set
  minimax              not set
  deepseek             not set
  dashscope            not set
  huggingface          not set
  nvidia               set
  ai_gateway           not set
  opencode_zen         not set
  opencode_go          not set
  kilocode             not set
  firecrawl            not set
  tavily               set
  browserbase          not set
  fal                  not set
  elevenlabs           not set
  github               not set

features:
  toolsets:           hermes-cli
  mcp_servers:        0
  memory_provider:    built-in
  gateway:            running (systemd (user), pid 6587)
  platforms:          discord, slack
  cron_jobs:          1 active / 1 total
  skills:             92

config_overrides:
  agent.tool_use_enforcement: False
  terminal.backend: ssh
  privacy.redact_pii: True
--- end dump ---

---
RAW_BUFFERClick to expand / collapse

Bug Description

I use the SSH terminal backend and asked Hermes through Discord to create a skill. It was created on the SSH target machine, so it doesn't exist on the machine which runs the Hermes agent - it doesn't appear when running skills list

Steps to Reproduce

  1. Use SSH terminal backend
  2. Ask Hermes Gateway to create a skill
  3. Skill is created on the SSH target, not on the machine running the Hermes Gateway

Expected Behavior

Skill is created on the machine running the Hermes Gateway

Actual Behavior

Skill was created in the wrong place - on the SSH sandbox.

Affected Component

Skills (skill loading, skill hub, skill guard)

Messaging Platform (if gateway-related)

Discord, N/A (CLI only)

Debug Report

--- hermes dump ---
version:          0.12.0 (2026.4.30) [13a7cbcd]
os:               Linux 6.17.0-1013-azure x86_64
python:           3.12.3
openai_sdk:       2.24.0
profile:          default
hermes_home:      ~/.hermes
model:            tencent/hy3-preview:free
provider:         openrouter
terminal:         ssh

api_keys:
  openrouter           set
  openai               not set
  anthropic            not set
  anthropic_token      not set
  nous                 not set
  google/gemini        set
  gemini               not set
  glm/zai              not set
  zai                  not set
  kimi                 not set
  minimax              not set
  deepseek             not set
  dashscope            not set
  huggingface          not set
  nvidia               set
  ai_gateway           not set
  opencode_zen         not set
  opencode_go          not set
  kilocode             not set
  firecrawl            not set
  tavily               set
  browserbase          not set
  fal                  not set
  elevenlabs           not set
  github               not set

features:
  toolsets:           hermes-cli
  mcp_servers:        0
  memory_provider:    built-in
  gateway:            running (systemd (user), pid 6587)
  platforms:          discord, slack
  cron_jobs:          1 active / 1 total
  skills:             92

config_overrides:
  agent.tool_use_enforcement: False
  terminal.backend: ssh
  privacy.redact_pii: True
--- end dump ---

Operating System

Ubuntu 24.04

Python Version

3.12.3

Hermes Version

0.12.0

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

extent analysis

TL;DR

The issue can be resolved by configuring the SSH terminal backend to create skills on the machine running the Hermes Gateway instead of the SSH target machine.

Guidance

  • Review the terminal.backend configuration in the Hermes settings to ensure it is set up to create skills on the correct machine.
  • Check the hermes_home directory to see if the skills are being created in a different location than expected.
  • Verify that the SSH connection is properly configured to allow the Hermes Gateway to create skills on the correct machine.
  • Consider setting up a separate configuration for the SSH terminal backend to specify the correct machine for skill creation.

Example

No code snippet is provided as the issue is related to configuration and setup.

Notes

The issue seems to be related to the configuration of the SSH terminal backend and the Hermes Gateway. The provided debug report shows that the terminal.backend is set to ssh, which might be causing the skills to be created on the SSH target machine instead of the machine running the Hermes Gateway.

Recommendation

Apply workaround: Configure the SSH terminal backend to create skills on the machine running the Hermes Gateway. This can be done by reviewing and updating the terminal.backend configuration in the Hermes settings.

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