hermes - 💡(How to fix) Fix feat(gateway): optional micro interrupt router for busy-session messages [1 participants]

Official PRs (…)
ON THIS PAGE

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#11639Fetched 2026-04-18 05:59:37
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

Hermes currently handles new user messages during an active run too bluntly. In practice:

  • interruption is often not what the user wanted
  • the busy-session UI acknowledgement is awkward and sometimes misleading
  • users forget /background and /btw / related detached-side-question commands exist
  • the system lacks a cheap policy layer that decides what should happen when a new message arrives during active work

This issue proposes an optional, default-off micro interrupt router at the busy-input boundary.

Root Cause

Hermes currently handles new user messages during an active run too bluntly. In practice:

  • interruption is often not what the user wanted
  • the busy-session UI acknowledgement is awkward and sometimes misleading
  • users forget /background and /btw / related detached-side-question commands exist
  • the system lacks a cheap policy layer that decides what should happen when a new message arrives during active work

This issue proposes an optional, default-off micro interrupt router at the busy-input boundary.

RAW_BUFFERClick to expand / collapse

Summary

Hermes currently handles new user messages during an active run too bluntly. In practice:

  • interruption is often not what the user wanted
  • the busy-session UI acknowledgement is awkward and sometimes misleading
  • users forget /background and /btw / related detached-side-question commands exist
  • the system lacks a cheap policy layer that decides what should happen when a new message arrives during active work

This issue proposes an optional, default-off micro interrupt router at the busy-input boundary.

Problem or Use Case

When a user sends a new message while Hermes is already working, the system needs to decide among different intents:

  • interrupt the current task
  • queue the new message for the next turn
  • ignore trivial duplicate chatter
  • eventually support richer actions like detached/background/side-question workflows

Today that decision is handled inconsistently and with awkward UX:

  • the acknowledgement text (Interrupting current task... I'll respond to your message shortly.) is clunky
  • interruption is not always desired
  • queue vs interrupt semantics are not surfaced clearly enough
  • /background and /btw style commands are easy to forget, so users fall back to ordinary messages that then get handled too aggressively

Proposed Solution

Introduce a tiny optional router that runs only when a session is genuinely busy (actively thinking/replying, or with an active user-visible tool/process run).

The router should:

  • be optional and default off
  • use a fast cheap model only for ambiguous cases
  • run deterministic guards before and after the model
  • keep context tiny:
    • current tool/output preview
    • last 2 user messages
    • last 2 assistant messages
  • keep v1 action scope conservative:
    • interrupt
    • queue
    • guarded ignore

For v1, background, merge, and ask should remain design placeholders unless runtime support is proven safe enough.

Why this is distinct from the existing issues

This is broader than just queue-mode acknowledgement wording (#11118), and broader than /btw naming/semantics (#9688).

This issue is about the product-level busy-input decision layer that should sit above those commands and behaviors.

Related issues:

  • #11118 — Distinguish queue-mode vs interrupt-mode busy-session acknowledgements in the gateway
  • #9688 — clarify /btw vs /side semantics for detached side questions during active runs
  • #3505 — queue inbound messages per session instead of overwriting latest pending message
  • #145 — Mid-turn steering: accept user messages while agent is working
  • #263 / #265 / similar queue-interrupt UX issues

Acceptance Criteria

  • optional and default off
  • disabled state preserves current behavior
  • router runs only when Hermes is actually busy
  • tiny routing context only (not full transcript)
  • deterministic fallbacks on timeout / invalid output
  • v1 executable actions are only interrupt, queue, ignore
  • gateway busy acknowledgement becomes action-accurate and less awkward
  • implementation covers both gateway busy-message interception paths
  • tests cover race conditions, media events, duplicate rapid messages, and disabled parity

Notes

A local implementation plan already exists and has been independently reviewed:

  • .hermes/plans/2026-04-17_140900-micro-interrupt-router.md

This issue is intended as the product/architecture umbrella so the implementation can land cleanly and link to the fragmented queue/background/btw UX issues instead of adding another isolated fix.

extent analysis

TL;DR

Implement a micro interrupt router at the busy-input boundary to handle new user messages during active runs, providing a more nuanced and user-friendly experience.

Guidance

  • Review the proposed solution and acceptance criteria to ensure the micro interrupt router meets the required functionality and constraints.
  • Examine the related issues (#11118, #9688, #3505, #145, #263, #265) to understand the broader context and potential interactions with the new router.
  • Consider the trade-offs between interrupting the current task, queuing the new message, and ignoring trivial duplicate chatter, and how the router will make these decisions.
  • Evaluate the implementation plan outlined in .hermes/plans/2026-04-17_140900-micro-interrupt-router.md to ensure it aligns with the proposed solution and acceptance criteria.

Notes

The implementation of the micro interrupt router should be carefully considered to ensure it integrates seamlessly with the existing system and provides a better user experience. The router's decision-making process and handling of edge cases will be crucial to its success.

Recommendation

Apply the proposed micro interrupt router solution, as it addresses the current limitations and provides a more flexible and user-friendly approach to handling new user messages during active runs. This solution will help to improve the overall user experience and provide a more nuanced handling of interrupts, queues, and ignores.

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