Back Home

GitHub Repo

Hermes Agent Community Reports Long-Conversation Handoff Failures as 1 MiB Transfer Limit Blocks New Prompts

Reports from the Hermes Agent community on October 26 said that oversized conversation-resume data can prevent prompt handoff when multiple backends share a profile. Reproduction and fix discussions on October 27 showed that increasing the limit may only mitigate the problem; unnecessary transfer of the full history still needs to be addressed.

Gerald L. Nino · Public domain · Image source
zh-Hant

On October 26, the Hermes Agent community reported that long conversations may fail to receive new prompts when multiple backends share the same profile. The reported scenario included a gateway owner and a Desktop-SSH isolated backend; after receiving a request, the latter must forward the prompt to the backend holding that session. The issue occurs during the resume process before forwarding, and users may see only a busy or rejection message. Issue report and discussion

According to the community’s analysis, the forwarding connection first calls session.resume. The response carries the full conversation history but uses the WebSocket library’s default receive limit. When the data exceeds 1 MiB, the connection closes with code 1009 before the subsequent prompt.submit runs. This places the failure in the agent’s communication layer; it does not establish that the model’s context is full. Technical analysis

The upstream websockets documentation confirms that connect() defaults max_size to 1,048,576 bytes, limiting the size of incoming messages; setting it to None removes the limit. This documentation supports the reported mechanism, but does not by itself prove that all Hermes deployments are affected. websockets API documentation

The community proposed increasing the limit to 8 MiB to match the general client path. On October 27, another participant reported that a 9 MiB response still failed and noted that the forwarding end only needs the session identifier. The discussion therefore also called for the resume endpoint to honor omit_messages, avoiding the return of unneeded history data. Fix and boundary-test discussion

For engineers operating long-running agents, this case is a reminder that session persistence and cross-backend routing also have capacity limits. Follow-up should track whether the fix ships in a stable release, whether oversized-message errors are clearly surfaced, and whether history omission is implemented. As of this review, the issue remains open; this article did not independently reproduce the behavior or confirm a released fix.

Sources

  1. Owner forward drops prompts once a session's resume snapshot exceeds 1 MiB
  2. Client (asyncio) — websockets documentation