Gateway (62)

Official issues about message routing, sessions, and platform delivery. Sourced from the official GitHub repo; status derived from official labels; every entry links back to its source with a last-checked date.

#58299 Workaround P2 comp/gateway

send_message_tool drops home.thread_id on bare platform targets (messages land in DM lobby instead of home topic)

send_message_tool's home-channel fallback only copies home.chat_id and drops home.thread_id, so bare `hermes send --to telegram` calls land in the DM root instead of the configured topic when Telegram DM topic mode is active.

#58270 Fixed P1 comp/gateway

fix(telegram): updater.stop() in reconnect ladder hangs on CLOSE-WAIT sockets — heartbeat loop stuck for hours

The Telegram reconnect handler's updater.stop() call has no timeout, so when the underlying TCP socket is stuck in CLOSE-WAIT the polling task never wakes up, permanently blocking reconnect attempts and silently dropping messages for hours until a manual restart.

#58259 Fixed P2 comp/gateway

Telegram typing indicator persists for full cron job lifetime, not just until message delivery

Duplicate report of the Telegram cron-job typing indicator persisting for the full subprocess lifetime instead of stopping at message delivery; closed as a duplicate.

#58258 Workaround P2 comp/gateway

Telegram typing indicator persists for full cron job lifetime, not just until message delivery

A cron job's Telegram delivery keeps the typing indicator active for the entire lifetime of the job's subprocess rather than stopping once the delivery message is sent, which can last 30-60+ minutes for long-running jobs.

#58248 Investigating P3 comp/gateway

Delivered-text persistence surfaces bypass PII/redaction hooks (rich-sent index, delivery mirror, API error dumps)

Hermes 0.18 persists delivered (post-redaction-restore) conversation text to disk in multiple surfaces (including rich_sent_index.json and the delivery mirror) without any redaction hook or TTL, which is a problem for deployments using PII tokenization plugins that restore PII only at delivery time.

#58236 Fixed P1 comp/gateway

Gateway hangs indefinitely on Telegram connect (attempt 1/8) — asyncio.wait_for never fires under s6 supervision

The Telegram gateway adapter hangs indefinitely at connect attempt 1/8 with the 30s asyncio.wait_for timeout never firing, but only under s6-overlay supervision per the reporter's diagnostics.

#58194 Investigating P3 comp/gateway

[Feature]: Excel sidecar -- chat with Hermes inside a live workbook

There is no way to use the assistant directly against a live Excel workbook; the proposal adds an Office.js sidecar with strict tool containment, already implemented per PR #44356.

#58192 Investigating P3 comp/agent

[Feature]: Keep local-backend prompt prefixes warm to eliminate cold-session prefill

Local llama.cpp/vLLM-style servers pay a full prefill cost for every new session because the shared prompt prefix is not kept warm; the proposal adds an opt-in gateway watcher that periodically replays a minimal request, and the author notes it is already implemented in PR #57019.

#58188 Investigating P3 comp/gateway

BlueBubbles needs product-level delivery health checks, not just gateway/process liveness

BlueBubbles/iMessage can silently stop delivering inbound messages to Hermes even while process and port signals still look healthy; the issue proposes a real product-level health check instead of relying on weak liveness signals.

#58184 Workaround P2 comp/gateway

cronjob deliver=origin 不稳定:Yuanbao WS断连时投递失败

## 现象 在 Yuanbao 平台创建 cronjob 时用 `deliver=origin`,投递时好时坏。看日志基本就是两种结果: 1. 正常投递(live adapter 路径命中) 2.

#58175 Workaround P2 comp/gateway

Signal group messages rejected by _is_user_authorized despite passing adapter-level filter

Signal group messages that pass the adapter-level filter are still rejected by _is_user_authorized because Platform.SIGNAL is missing from the platform_group_user_env_map dict used for group authorization.

#58116 Fixed P2 comp/gateway

bug: platforms.weixin.enabled: false ignored when WEIXIN_* env vars are present

Setting platforms.weixin.enabled: false in config.yaml does not stop the gateway from connecting to WeChat/iLink when WEIXIN_* environment variables are present. This issue is now closed.

#58081 Workaround P2 comp/gateway

[Bug] Responses API: compressed transcript not stored in ResponseStore, causing re-compression loop

When context compression fires during a /v1/responses conversation chained via previous_response_id, the compressed transcript isn't stored correctly in ResponseStore, so history keeps growing and re-triggers compression on every subsequent request.

#58049 Workaround P2 comp/gateway

v0.18.0: QQBot adapter fails to connect - QQAdapter.connect() missing is_reconnect parameter

After upgrading to v0.18.0, the QQ Bot adapter fails to connect with an unexpected is_reconnect keyword error because gateway/run.py now passes that parameter to all adapters, but the QQ Bot adapter was not updated to accept it.

#58032 Workaround P2 comp/gateway

Bug: multiplex_profiles: false leaves orphaned sessions that cause wrong profile routing

Turning off gateway.multiplex_profiles does not clean up stale profile sessions in the shared state.db, so the gateway keeps routing messages to a disabled profile.

#58010 Fixed P1 comp/gateway

AsyncSessionDB breaks /resume — missing await in slash_commands.py

AsyncSessionDB wraps SessionDB methods as async coroutines, but slash_commands.py calls them without await, causing /resume to crash with a TypeError. This issue is now closed.

#57836 Fixed P2 comp/gateway

[Bug]: Headless MCP OAuth blocks gateway startup with stale cached tokens

A non-interactive gateway run can stay stuck in MCP OAuth discovery for the full browser-callback timeout when token refresh fails, and retries then fail because the callback port is still in use. This issue is now closed.

#57748 Investigating P3 comp/gateway

[Feature]: Stream live context-window usage to the desktop/TUI status bar while a turn is running

The context-window usage gauge in the desktop/TUI status bar only refreshes on message.complete, so it stays frozen during long agentic turns even though the underlying data updates after every internal API call.

#57739 Workaround P2 comp/gateway

[Bug]: macOS gateway enters restart loop — hardcoded --replace in launchd plist and incorrect exit code on SIGTERM

On macOS, when an external trigger kills the Hermes gateway process, it enters an infinite restart loop of roughly 8-10 second cycles, logging 400+ SIGTERM events in a single session.

#55698 Investigating P3 comp/gateway

Telegram local Bot API video documents can fail caching with method not found and become empty turns

With a local Bot API server, Telegram video documents can fail caching with 'method not found', producing empty turns despite the file existing locally.

#55239 Workaround P2 comp/gateway

Slack stale thread sessions suppress reset-time thread context

SlackAdapter checks only whether a session key exists, not whether it would be reset by the configured reset policy, so a Slack thread can lose its expected thread-history reseed after the underlying session actually resets.

#54220 Fixed P2 comp/agent

[Tracking] Windows Desktop GUI: console windows (cmd/conhost/git/gh/powershell) flash on subprocess spawns

This tracking issue consolidates roughly 25 reports of console windows (cmd, conhost, git, gh, powershell) flashing on the Windows desktop GUI when its windowless pythonw.exe backend spawns console-subsystem child processes without the no-window flag, and documents which spawn sites are still leaking based on source and git-history verification.

#52914 Workaround P2 comp/gateway

[Bug]: fix(qqbot): QQBot adapter.connect() missing is_reconnect parameter causes infinite retry loop

After updating past a specific commit, the QQBot gateway fails to connect and enters an infinite retry loop, because QQAdapter.connect() receives an unexpected 'is_reconnect' keyword argument.

#52060 Fixed P2 comp/gateway

Cron Telegram nudges land in General topic — #22773 DM-topic heuristic mis-classifies threaded-DM forum topics

Since a prior fix (#22773), proactive cron deliveries to a Telegram threaded-DM forum topic land in the General topic instead due to a misclassification in cron/scheduler.py's DM-topic heuristic.

#49730 Investigating P3 comp/gateway

Cross-platform conversation continuity (shared session context across Telegram, iMessage, CLI, etc.)

Requests a mechanism to carry conversation context across platforms (Telegram, iMessage, CLI, Discord), since currently only persistent memory carries over and conversation history stays isolated per platform.

#48056 Workaround P2 comp/gateway

Telegram DM topic cron delivery falls back out of topic

Cron deliveries targeting a Telegram private DM topic can fail to stay in that topic because the cron path only carries a generic thread_id, missing the metadata the adapter needs for private DM topics.

#44428 Investigating P3 comp/gateway

[Feature]: Support Telegram Bot API 10.1 Rich Messages and rich draft streaming

This issue proposes adding support for Telegram Bot API 10.1's new Rich Messages (headings, lists, tables, LaTeX, etc.) to the Telegram gateway, replacing the current plain/MarkdownV2 message streaming approach.

#44022 Fixed P2 comp/gateway

[Bug]: Desktop/TUI session.resume fails with "No LLM provider configured" when session only stored a bare billing_provider (e.g. custom)

Resuming any older chat in the Hermes desktop or TUI app fails with "No LLM provider configured" even though the default provider is valid and new chats work fine, while the identical session resumes correctly via the CLI's --resume flag.

#43397 Investigating P3 comp/gateway

Gateway should preserve forwarded-message metadata for Telegram and other platforms

The gateway currently discards Telegram's native forwarded-message metadata (forward_origin, etc.), so the agent cannot distinguish typed text from forwarded messages; the issue proposes a platform-neutral annotation layer to preserve it.

#42187 Investigating P3 comp/gateway

fix: Show Codex gpt-5.5 autoraise notice once per gateway session

This issue reports that the Codex gpt-5.5 compaction-threshold notice can be shown repeatedly within the same durable gateway session when the AIAgent instance is rebuilt, and proposes showing it only once per session.

#37713 Investigating P3 comp/gateway

Desktop Remote gateway should support switching active Hermes profile from the UI

Hermes Desktop's Profiles page can list profiles but cannot actually switch which profile a connected remote backend uses; the issue requests a first-class profile switcher in the Desktop UI.

#34352 Investigating P3 comp/agent

Solving the Multi-Tenant Hermes Problem

This issue reports that memory operations bypass Hermes's hook system, making tenant isolation impossible without forking core, and proposes upstreaming a fix along with an open-source project called Hermes Swarm Map.

#28823 Workaround P2 comp/gateway

[Bug]: WhatsApp: quotedMessageId/context is not forwarded to agent — reply context is lost

The WhatsApp adapter discards quotedMessageId/context metadata when a user replies to a message, so the agent never receives the quoted message's ID or content, making reply-based corrections unreliable.

#27282 Fixed P1 comp/gateway

[--tui] gateway exits mid-turn with stdin EOF (TUI closed the command pipe) — NOT byterover-related

On macOS in --tui mode, the gateway repeatedly exits mid-conversation with "stdin EOF (TUI closed the command pipe)" even with only built-in memory enabled (no byterover), which the reporter notes is distinct from a similar SIGPIPE issue (#14036) caused by the byterover memory plugin.

#26083 Investigating P3 comp/gateway

Microsoft Teams platform plugin fails to load on bundled Python 3.11 — microsoft-teams-apps requires Python ≥ 3.12

The Teams platform plugin fails to bind port 3978 because it imports the microsoft-teams-apps package, which requires Python 3.12 or newer, while the Hermes installer creates a Python 3.11 venv regardless of a newer system Python being available.

#25495 Fixed P1 comp/gateway

[Bug]: Matrix / synapse broken in the official docker image

The Matrix/Synapse gateway in the official Docker image breaks after a certain build, with startup logs stalling at 'fixing ownership :1000'; the bot can still send messages but does not respond to channel prompts. Issue is closed as fixed.

#22714 Fixed P1 comp/gateway

Matrix gateway: no in-band channel to drive per-message LLM orchestration in a downstream dispatcher

The reporter describes a Matrix gateway deployment fronting a custom LLM dispatcher that routes requests between local and cloud models per rule, and reports there is no in-band channel for per-message routing decisions (like a user's /model command) to reach that downstream dispatcher.

#21587 Investigating P3 comp/gateway

Feature: Telegram Guest Bots, Bot-to-Bot, Stickers and Chat Automation

This feature request proposes adopting several of Telegram's May 2026 bot platform updates, notably Guest AI Bots (usable via @mention without joining a chat) and Bot-to-Bot communication, to support Hermes multi-agent workflows.

#20318 Investigating P3 comp/gateway

[Feature]: TrueConf gateway / messaging platform support

The issue requests adding TrueConf as a supported Hermes messaging gateway, similar to existing Slack/Discord/Telegram support, noting a ready-made python-trueconf-bot library is available.

#18918 Fixed P2 comp/gateway

Slack: render Markdown pipe tables as Block Kit tables

Slack's mrkdwn does not render GitHub-Flavored Markdown pipe tables, so Hermes responses containing tables displayed as literal pipe text in Slack; the issue is now closed.

#16702 Investigating P3 comp/gateway

Feature request: Auto-start dashboard with gateway systemd service

User reports that the Hermes dashboard runs as a separate process and does not restart automatically after WSL reboots or gateway crashes, and proposes a systemd service to auto-start it after the gateway.

#15311 Investigating P3 comp/gateway

Add generic action buttons / inline keyboard support for messaging platforms

Feature request for a generic, platform-agnostic API for attaching interactive action buttons (especially Telegram inline keyboards) to any message, instead of hardcoding button support per specific built-in feature.

#14853 Investigating P3 comp/gateway

[Feature]: Multi-Agent Discord channel collaboration — history injection + cascade prevention

Feature proposal to add Discord channel history injection and cascade-prevention/mention-gating logic for multi-agent shared-channel setups, based on a working patch the reporter built for their own 3-agent deployment.

#13065 Fixed P3 comp/agent

Feature: First-class native vision support for vision-capable main models (with reference implementation + bug findings)

This feature request notes that Hermes routes all image analysis through an auxiliary vision model even when the main model is natively vision-capable, and provides a reference implementation (patching 4 files) for native vision bypass along with several related pipeline bugs discovered in the process.

#12058 Fixed P1 comp/cli

[Bug]: OpenAI Codex OAuth works in CLI, but Telegram gateway replies No Codex credentials stored

OpenAI Codex OAuth works via CLI, but the Telegram gateway reports 'No Codex credentials stored' despite the same credentials being valid, in a Docker/Coolify deployment. This issue is now closed.

#10143 Investigating P3 comp/gateway

[Feature] Topic-to-Profile routing: dispatch messages to different profiles based on Telegram topic/thread

Feature request to let a single Telegram bot route messages from different forum topics/threads to different Hermes profiles (each with its own model, skills, and system prompt), instead of requiring one bot token and gateway process per profile.

#9549 Workaround P2 comp/gateway

[Feishu] Markdown tables not rendering in Feishu messages

Feishu does not render markdown tables sent by Hermes, showing raw text instead, because feishu.py wraps raw markdown in an md tag that Feishu's md tag doesn't support for tables.

#9514 Investigating P3 comp/agent

Feature: Single-Daemon Multi-Agent with Per-Topic Workspace & Memory Isolation

This feature proposes a single-daemon architecture, inspired by OpenClaw, letting multiple Hermes agents share one gateway process with isolated per-agent workspaces and memory, routed by session key including per-topic isolation in group chats.

#8552 Workaround P2 comp/gateway

Slack platform: use Block Kit markdown block type instead of legacy mrkdwn

This issue reports that Hermes's Slack adapter uses the legacy mrkdwn format, which doesn't support markdown tables, and proposes switching to Slack's newer Block Kit markdown block type.

#8366 Investigating P3 comp/gateway

Feature: Cross-Platform Session Handoff (CLI ↔ Telegram ↔ iMessage)

Hermes sessions are isolated per platform (CLI, Telegram, iMessage) with no continuity, so work cannot be resumed across platforms; the issue proposes a built-in handoff mechanism to carry state between them.

#8287 Investigating P3 comp/gateway

Support multiple Telegram bots connecting to the same agent (same gateway, different sessions) using the same Telegram account.

Hermes currently only supports parallel background tasks via /background, which lacks mid-task interaction and runs sequentially; the issue requests allowing multiple Telegram bots on one account to connect to the same agent with independent sessions.

#7517 Investigating P3 comp/agent

Feature Request: Native Multi-Agent Support

This issue requests native multi-agent support in Hermes, allowing a single gateway process to serve multiple named agents with isolated sessions, personas, memory, and tool configurations, instead of today's single global agent identity.

#5826 Investigating P3 comp/gateway

[Feature]: Linear platform adapter for the gateway

This feature request proposes adding a Linear platform adapter to the gateway, allowing users to interact with the agent directly via @mentions in Linear issue comments instead of switching to Slack, Telegram, or Discord.

#5712 Workaround P2 comp/gateway

[Feature]: True Autonomy - Automatically Inject Cron Results into Live Gateway Chat Sessions

Hermes cron job results delivered to the origin channel are visible only to the human and not mirrored into the live gateway session's context, so the main agent has no memory of completed scheduled tasks unless a human manually points it to a filesystem handoff file.

#5533 Investigating P3 comp/agent

feat(dreaming): introduce stable Dreaming reflection mode across CLI and gateway

This issue documents making Dreaming a first-class, reliable reflection feature across both the CLI and gateway (including Telegram), with tool usage disabled, correct runtime/provider config propagation, and error surfacing instead of silent failure.

#5200 Workaround P2 comp/agent

[docs] Context Files (AGENTS.md/SOUL.md): documented behavior doesn't match code

This issue reports three mismatches between documented and actual behavior for AGENTS.md and SOUL.md context file loading, including that AGENTS.md is not recursively loaded and cwd is overridden in gateway/messaging mode.

#5143 Investigating P3 comp/gateway

[Feature] Multi-Role Auto-Routing via Gateway Hooks

This issue proposes Multi-Role Auto-Routing, letting users define named roles with dedicated sessions and system prompts, auto-routed by a lightweight classifier, to avoid context pollution from mixing unrelated topics in one shared session.

#4431 Investigating P3 comp/gateway

[Feature]: Per-topic/per-chat configuration overrides (topic_configs) for gateway sessions

This issue reports that all Hermes gateway sessions across multiple Telegram groups or Discord servers currently share the same personality, prompt, and working directory, and proposes a topic_configs config section for per-chat overrides.

#3725 Investigating P3 comp/gateway

[Feature]: Rocket Chat support

The issue requests adding Rocket.Chat as a supported Hermes messaging gateway channel.

#1955 Fixed P2 comp/gateway

feat: per-channel model and system prompt overrides for gateway platforms

This feature proposes a channel_overrides config section so each Discord/Telegram channel can specify its own model, provider, and system prompt instead of sharing one global model and prompt across all channels.

#527 Workaround P2 comp/gateway

Feature: Gateway Permission Tiers — Role-Based Access Control (Owner/Admin/User/Guest) for Messenger Platforms

This issue reports that Hermes Agent's gateway authorization is currently all-or-nothing, and proposes a tiered permission system (Owner/Admin/User/Guest) for messaging platforms.

#73 Fixed P3 comp/gateway

Matrix Protocol Support for Messaging Gateway

The issue requested native Matrix protocol support as a Hermes messaging gateway so users could interact via any Matrix client on self-hosted homeservers; the issue is now closed.

Other categories

Back to curated issues . School solution cards . Troubleshooting