hermes - 💡(How to fix) Fix [Bug]: Hermes Desktop "Custom runtime does not implement sessions.patch" when sending chat via SSH Tunnel

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…

When connecting Hermes Desktop v0.4.3 to a remote Hermes Agent v0.14.0 gateway via the built-in SSH Tunnel mode (Hermes backend), the connection succeeds and the chat UI loads, but sending any message returns:

Error: Custom runtime does not implement sessions.patch.

The connection works (Test SSH Connection passes, hermes-gateway is detected as running, config sync over SSH succeeds), but the server-side TUI gateway JSON-RPC namespace only implements session.* (singular) methods. There is no sessions.patch (plural + patch) handler in the codebase.

Error Message

Error: Custom runtime does not implement sessions.patch. Chat returns: Error: Custom runtime does not implement sessions.patch.

  • Ran hermes update to pull the 153 commits behind upstream → already current after update; error persists.

Root Cause

When connecting Hermes Desktop v0.4.3 to a remote Hermes Agent v0.14.0 gateway via the built-in SSH Tunnel mode (Hermes backend), the connection succeeds and the chat UI loads, but sending any message returns:

Error: Custom runtime does not implement sessions.patch.

The connection works (Test SSH Connection passes, hermes-gateway is detected as running, config sync over SSH succeeds), but the server-side TUI gateway JSON-RPC namespace only implements session.* (singular) methods. There is no sessions.patch (plural + patch) handler in the codebase.

Fix Action

Fix / Workaround

Error: Custom runtime does not implement sessions.patch.

The connection works (Test SSH Connection passes, hermes-gateway is detected as running, config sync over SSH succeeds), but the server-side TUI gateway JSON-RPC namespace only implements session.* (singular) methods. There is no sessions.patch (plural + patch) handler in the codebase.

Chat returns: Error: Custom runtime does not implement sessions.patch.

RAW_BUFFERClick to expand / collapse

Description

When connecting Hermes Desktop v0.4.3 to a remote Hermes Agent v0.14.0 gateway via the built-in SSH Tunnel mode (Hermes backend), the connection succeeds and the chat UI loads, but sending any message returns:

Error: Custom runtime does not implement sessions.patch.

The connection works (Test SSH Connection passes, hermes-gateway is detected as running, config sync over SSH succeeds), but the server-side TUI gateway JSON-RPC namespace only implements session.* (singular) methods. There is no sessions.patch (plural + patch) handler in the codebase.

Steps to reproduce

  1. Run hermes-gateway as a systemd service on a remote Linux VPS (API server platform enabled, listening on 127.0.0.1:8642).
  2. On the desktop client, choose Connection mode: SSH Tunnel, Backend: Hermes, point at the VPS with key auth, port 8642.
  3. Click Test SSH Connection → success. Save and open the chat.
  4. Type any message → press send.

Expected behaviour

Message reaches the agent and a response streams back.

Actual behaviour

Chat returns: Error: Custom runtime does not implement sessions.patch.

Evidence

  • grep -rn 'sessions\.patch' /usr/local/lib/hermes-agent returns no results at commit f36c89cd5 (current origin/main).
  • tests/test_tui_gateway_server.py only references the singular namespace: session.create, session.resume, session.close, session.title, session.compress, session.status, session.steer, session.undo, session.interrupt, prompt.submit — no sessions.* and no *.patch.
  • SSH wrapper logging shows the Desktop polling gateway.pid every 10s and rewriting ~/.hermes/config.yaml over SSH on connect; the chat itself appears to call a different RPC method that the server does not register.

Environment

  • Hermes Agent (Motor): v0.14.0 (2026.5.16), commit f36c89cd5 on origin/main
  • Hermes Desktop: v0.4.3
  • Python: 3.11.15
  • OpenAI SDK: 2.24.0
  • OS: Ubuntu 24.04.4 LTS, kernel 6.8.0-111-generic
  • Connection mode: SSH Tunnel (built-in, not manual `ssh -L`)
  • Backend selected: Hermes

Possible cause

The Desktop client appears to be ahead of hermes-agent main and expects a sessions.patch RPC method (or HTTP endpoint) that has not been merged server-side yet. Either the server is missing the handler, or the Desktop is calling the wrong namespace (sessions.* vs session.*).

Workarounds tried

  • Ran hermes update to pull the 153 commits behind upstream → already current after update; error persists.
  • Verified API_SERVER_KEY and OPENROUTER_API_KEY are valid (auth endpoints return 200).
  • Verified hermes-gateway.service is healthy and /v1/models / /v1/capabilities respond correctly with bearer auth.

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]: Hermes Desktop "Custom runtime does not implement sessions.patch" when sending chat via SSH Tunnel