hermes - 💡(How to fix) Fix [Bug]: Keyboard input freezes completely — Ctrl+C ineffective, terminal must be killed [1 comments, 2 participants]

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…
GitHub stats
NousResearch/hermes-agent#17959Fetched 2026-05-01 05:54:46
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Timeline (top)
labeled ×4commented ×1

Root Cause

Root Cause Analysis (Preliminary)

Code Example

version:          0.10.0 (2026.4.16) [ce98e1ef]
os:               Linux 7.0.0-15-generic x86_64
python:           3.11.15
terminal:         local
model:            MiniMax-M2.7
provider:         minimax-cn
features:
  toolsets:           hermes-cli
  skills:             72
RAW_BUFFERClick to expand / collapse

Bug Description

Keyboard input freezes completely during Hermes CLI interactive sessions. The user is unable to type any further input, and eventually the keyboard becomes completely unresponsive. The only resolution is to forcibly close the terminal.

Key symptoms:

  • Input stops working while typing (not related to large data output)
  • Ctrl+C does NOT recover input responsiveness
  • Keyboard becomes entirely unresponsive
  • Only terminal close button (mouse click on X) works to exit

Steps to Reproduce

  1. Start Hermes CLI: hermes chat or hermes
  2. Engage in a normal conversation
  3. At some point (not consistently reproducible), input freezes
  4. User cannot type, Ctrl+C has no effect

Expected Behavior

  • Keyboard input should remain responsive at all times
  • Ctrl+C should interrupt the current operation and restore input
  • No complete keyboard lockout should occur

Actual Behavior

  • Input freezes mid-session
  • Ctrl+C is ineffective
  • Keyboard becomes completely unresponsive
  • Terminal must be killed via GUI

Environment

  • OS: Ubuntu 24.04 (Linux 7.0.0-15-generic x86_64)
  • Hermes Version: 0.10.0 (2026.4.16) [ce98e1ef]
  • Python Version: 3.11.15
  • Terminal Backend: local
  • Model: MiniMax-M2.7
  • Provider: minimax-cn

Debug Report

version:          0.10.0 (2026.4.16) [ce98e1ef]
os:               Linux 7.0.0-15-generic x86_64
python:           3.11.15
terminal:         local
model:            MiniMax-M2.7
provider:         minimax-cn
features:
  toolsets:           hermes-cli
  skills:             72

Root Cause Analysis (Preliminary)

Based on code inspection:

  1. prompt_toolkit input handling: Classic CLI runs prompt_toolkit in main thread while background process_loop runs the agent. Output from tools can compete with prompt_toolkit event loop.

  2. Subprocess stdio inheritance: Tools (terminal, delegate_task, ACP client) spawn subprocesses. If one inherits the controlling PTY and blocks on stdin/stdout, it could lock terminal input.

  3. terminal.backend is local: PTY-based handling may be more susceptible than docker-based isolation.

Component

CLI (interactive chat)

extent analysis

TL;DR

The issue can likely be mitigated by adjusting the input handling in the Hermes CLI to prevent subprocesses from blocking the terminal input.

Guidance

  • Investigate the prompt_toolkit input handling to ensure it is properly integrated with the background process loop to avoid competition for resources.
  • Review the subprocess spawning mechanism to prevent tools from inheriting the controlling PTY and blocking on stdin/stdout, potentially causing terminal input lockout.
  • Consider using a non-PTY-based terminal backend, such as docker-based isolation, to reduce susceptibility to input blocking.
  • Verify that the issue is reproducible with different terminal backends to isolate the cause.

Example

No code snippet is provided as the issue lacks specific implementation details.

Notes

The root cause analysis suggests that the issue may be related to the interaction between prompt_toolkit and subprocesses, but further investigation is needed to confirm.

Recommendation

Apply workaround: Adjust the input handling in the Hermes CLI to prevent subprocesses from blocking the terminal input, as this is the most likely cause of the issue and can be addressed without requiring significant changes to the underlying infrastructure.

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]: Keyboard input freezes completely — Ctrl+C ineffective, terminal must be killed [1 comments, 2 participants]