Skip to content

fix(hermes): skill handles version updates; restart via /restart in chat - #705

Merged
p-diogo merged 1 commit into
mainfrom
fix/hermes-update-restart-via-chat
Nov 1, 2026
Merged

p-diogo merged 1 commit into
mainfrom
fix/hermes-update-restart-via-chat

Conversation

@p-diogo

@p-diogo p-diogo commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

On a real Telegram install, the user asked "Can you upgrade TotalReclaw to rc6?" without linking the guide. The only TotalReclaw guidance the agent had was the usage skill, and there "upgrade" means buying Pro (totalreclaw_upgrade). Nothing in it covers installing a newer version.

So the agent improvised:

  1. It installed the package correctly.
  2. It tried to restart the gateway itself. Hermes' guard blocks gateway lifecycle commands from agent sessions, in the terminal, in cron and in scripts.
  3. It wrote ~/.hermes/scripts/restart-gateway-rc6.sh and told the user to run it, or hermes gateway restart, over SSH.

Sending /restart in the chat would have done the job. In Hermes 0.22 it's a gateway slash command that drains running work and exits with code 75 under systemd or launchd, so the service manager restarts it.

Changes to python/src/totalreclaw/hermes/SKILL.md, which the sidecar mirrors into ~/.hermes/skills/memory/totalreclaw/ on plugin load:

  • "Upgrade" is split in two: "upgrade to Pro" goes to totalreclaw_upgrade; "update/upgrade TotalReclaw to a version" is a software update, handled in a new Updating TotalReclaw section that points at the guide's Update prompt.
  • New Restarting Hermes section: the agent can't restart Hermes and must not write restart scripts or schedule restarts. In a chat app it asks the user to send /restart. Only a terminal-CLI user gets hermes gateway restart, and Docker without a chat app gets docker restart. Shell commands for a chat-app user are a fallback only if /restart fails.
  • Diagnostics now points at that rule.

This matches what the install guide already says for the install path. The guide is unchanged.

New tests in python/tests/test_skill_md_update_restart.py; the existing skill tests still pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Bd3G1BkVMFSXkcdAQ7nFax

Asked "upgrade TotalReclaw to rc6", an agent only had the usage skill,
where "upgrade" meant Pro. It installed the package, tried to restart the
gateway itself (blocked by Hermes), wrote a restart script and told the
user to SSH in. The skill now separates a version update (guide's Update
prompt) from Pro and says the agent can't restart Hermes: a chat-app user
sends /restart; only terminal-CLI users get `hermes gateway restart`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bd3G1BkVMFSXkcdAQ7nFax
@p-diogo
p-diogo merged commit 5ca375c into main Nov 1, 2026
12 checks passed
@p-diogo
p-diogo deleted the fix/hermes-update-restart-via-chat branch November 1, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant