hermes - 💡(How to fix) Fix bug(cli): Status bar duplicated as new lines when idle (not updating in-place) [1 comments, 1 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#12641Fetched 2026-04-20 12:17:45
View on GitHub
Comments
1
Participants
1
Timeline
2
Reactions
0
Author
Participants
Timeline (top)
commented ×1renamed ×1

When leaving the Hermes CLI chat idle for an extended period (no user input), empty dialogue boxes / blank message bubbles keep appearing automatically in the terminal.

Root Cause

When leaving the Hermes CLI chat idle for an extended period (no user input), empty dialogue boxes / blank message bubbles keep appearing automatically in the terminal.

Fix Action

Fix / Workaround

╭──────────── Hermes Agent v0.10.0 (2026.4.16) · upstream 6af04474 ────────────╮ │ Available Tools │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀⠀⣀⣀⠀⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ browser: browser_back, browser_cdp, │ │ ⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣇⠸⣿⣿⠇⣸⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀ browser_click, ... │ │ ⠀⢀⣠⣴⣶⠿⠋⣩⡿⣿⡿⠻⣿⡇⢠⡄⢸⣿⠟⢿⣿⢿⣍⠙⠿⣶⣦⣄⡀⠀ clarify: clarify │ │ ⠀⠀⠉⠉⠁⠶⠟⠋⠀⠉⠀⢀⣈⣁⡈⢁⣈⣁⡀⠀⠉⠀⠙⠻⠶⠈⠉⠉⠀⠀ code_execution: execute_code │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⡿⠛⢁⡈⠛⢿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ cronjob: cronjob │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⣿⣦⣤⣈⠁⢠⣴⣿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ delegation: delegate_task │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠻⢿⣿⣦⡉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ file: patch, read_file, search_files, │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢷⣦⣈⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ write_file │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣴⠦⠈⠙⠿⣦⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ hindsight: hindsight_recall, │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣤⡈⠁⢤⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ hindsight_reflect, ... │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠷⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ homeassistant: ha_call_service, │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠑⢶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ha_get_state, ... │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠁⢰⡆⠈⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ (and 11 more toolsets...) │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⠈⣡⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Available Skills │ │ apple: apple-notes, apple-reminders, │ │ mimo-v2-pro · Nous Research findmy, imessage │ │ /Users/chengliang autonomous-ai-agents: claude-code, codex, │ │ Session: 20260419_104910_1c9374 crewai-hermes-daily-briefin... │ │ creative: architecture-diagram, │ │ ascii-art, ascii-video, e... │ │ data-science: jupyter-live-kernel │ │ devops: mac-npm-env-fix, │ │ paperclip-hermes-integration, ... │ │ divination: numerologist-skills │ │ email: himalaya │ │ gaming: minecraft-modpack-server, │ │ pokemon-player │ │ general: ak-rss-digest, any2card-render, │ │ apple-calendar,... │ │ github: codebase-inspection, github-auth, │ │ github-code-r... │ │ leisure: find-nearby │ │ mcp: mcporter, native-mcp │ │ media: dreamina-cli, gemini-tts, │ │ gif-search, heartmula... │ │ mlops: audiocraft-audio-generation, │ │ axolotl, clip, dsp... │ │ note-taking: max-research-processor, │ │ max-sci-research-archiv... │ │ openclaw-imports: actionbook, │ │ actionbook-scraper, active-research... │ │ productivity: ai-nav-auto-update, │ │ google-workspace, jinan-fin... │ │ reading: deep-reading-bible │ │ red-teaming: godmode │ │ research: arxiv, blogwatcher, llm-wiki, │ │ ml-paper-writing,... │ │ smart-home: openhue │ │ social-media: xhs-cover-design-pil, │ │ xiaohongshu-content-creat... │ │ software-development: code-review, plan, │ │ requesting-code-review, suba... │ │ │ │ 35 tools · 239 skills · /help for │ │ commands │ ╰──────────────────────────────────────────────────────────────────────────────╯

Possibly related to one or more of:

  • firing during idle on a closed event loop (the neuter workaround at cli.py:640-648 may not fully prevent it)
  • Gateway heartbeat/keepalive events being rendered as empty messages
  • Prompt_toolkit re-rendering on background thread activity
RAW_BUFFERClick to expand / collapse

Description

When leaving the Hermes CLI chat idle for an extended period (no user input), empty dialogue boxes / blank message bubbles keep appearing automatically in the terminal.

Environment

  • Hermes Agent: v0.10.0 (2026.4.16)
  • macOS (Apple Silicon)
  • Model: xiaomi/mimo-v2-pro via Nous

Steps to Reproduce

  1. Start a

╭──────────── Hermes Agent v0.10.0 (2026.4.16) · upstream 6af04474 ────────────╮ │ Available Tools │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀⠀⣀⣀⠀⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ browser: browser_back, browser_cdp, │ │ ⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣇⠸⣿⣿⠇⣸⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀ browser_click, ... │ │ ⠀⢀⣠⣴⣶⠿⠋⣩⡿⣿⡿⠻⣿⡇⢠⡄⢸⣿⠟⢿⣿⢿⣍⠙⠿⣶⣦⣄⡀⠀ clarify: clarify │ │ ⠀⠀⠉⠉⠁⠶⠟⠋⠀⠉⠀⢀⣈⣁⡈⢁⣈⣁⡀⠀⠉⠀⠙⠻⠶⠈⠉⠉⠀⠀ code_execution: execute_code │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⡿⠛⢁⡈⠛⢿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ cronjob: cronjob │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⣿⣦⣤⣈⠁⢠⣴⣿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ delegation: delegate_task │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠻⢿⣿⣦⡉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ file: patch, read_file, search_files, │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢷⣦⣈⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ write_file │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣴⠦⠈⠙⠿⣦⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ hindsight: hindsight_recall, │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣤⡈⠁⢤⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ hindsight_reflect, ... │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠷⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ homeassistant: ha_call_service, │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠑⢶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ha_get_state, ... │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠁⢰⡆⠈⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ (and 11 more toolsets...) │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⠈⣡⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ │ │ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Available Skills │ │ apple: apple-notes, apple-reminders, │ │ mimo-v2-pro · Nous Research findmy, imessage │ │ /Users/chengliang autonomous-ai-agents: claude-code, codex, │ │ Session: 20260419_104910_1c9374 crewai-hermes-daily-briefin... │ │ creative: architecture-diagram, │ │ ascii-art, ascii-video, e... │ │ data-science: jupyter-live-kernel │ │ devops: mac-npm-env-fix, │ │ paperclip-hermes-integration, ... │ │ divination: numerologist-skills │ │ email: himalaya │ │ gaming: minecraft-modpack-server, │ │ pokemon-player │ │ general: ak-rss-digest, any2card-render, │ │ apple-calendar,... │ │ github: codebase-inspection, github-auth, │ │ github-code-r... │ │ leisure: find-nearby │ │ mcp: mcporter, native-mcp │ │ media: dreamina-cli, gemini-tts, │ │ gif-search, heartmula... │ │ mlops: audiocraft-audio-generation, │ │ axolotl, clip, dsp... │ │ note-taking: max-research-processor, │ │ max-sci-research-archiv... │ │ openclaw-imports: actionbook, │ │ actionbook-scraper, active-research... │ │ productivity: ai-nav-auto-update, │ │ google-workspace, jinan-fin... │ │ reading: deep-reading-bible │ │ red-teaming: godmode │ │ research: arxiv, blogwatcher, llm-wiki, │ │ ml-paper-writing,... │ │ smart-home: openhue │ │ social-media: xhs-cover-design-pil, │ │ xiaohongshu-content-creat... │ │ software-development: code-review, plan, │ │ requesting-code-review, suba... │ │ │ │ 35 tools · 239 skills · /help for │ │ commands │ ╰──────────────────────────────────────────────────────────────────────────────╯

Welcome to Hermes Agent! Type your message or /help for commands. ✦ Tip: Container mode: place .container-mode in HERMES_HOME and the host CLI auto-execs into the container.

Goodbye! ⚕ session 2. Leave it idle for a long time (no input) 3. Empty dialogue boxes appear periodically

Expected Behavior

The CLI should remain static when idle — no empty boxes or blank messages.

Suspected Cause

Possibly related to one or more of:

  • firing during idle on a closed event loop (the neuter workaround at cli.py:640-648 may not fully prevent it)
  • Gateway heartbeat/keepalive events being rendered as empty messages
  • Prompt_toolkit re-rendering on background thread activity

The code already has comments acknowledging idle-time event loop issues (cli.py:640-648, cli.py:700-705), suggesting this is a known area of fragility.

extent analysis

TL;DR

The issue can be addressed by investigating and potentially modifying the event loop handling in cli.py to prevent idle-time issues, such as the neuter workaround at lines 640-648, and exploring the impact of Gateway heartbeat/keepalive events and Prompt_toolkit re-rendering.

Guidance

  1. Review Event Loop Handling: Examine the code in cli.py, specifically lines 640-648 and 700-705, to understand the current workaround for idle-time event loop issues and consider enhancements or fixes.
  2. Investigate Gateway Heartbeat/Keepalive Events: Determine if these events are being incorrectly rendered as empty messages and find a way to filter or handle them appropriately to prevent empty dialogue boxes.
  3. Prompt_toolkit Re-rendering: Look into how Prompt_toolkit's background thread activity might cause re-rendering issues leading to empty messages and explore options to mitigate this, such as adjusting rendering settings or handling re-rendering events more gracefully.
  4. Test with Debug Logging: Enable detailed logging to capture the sequence of events leading up to the appearance of empty dialogue boxes, which can help pinpoint the exact cause among the suspected factors.

Example

No specific code example can be provided without further details on the implementation of cli.py and the event loop handling. However, the approach might involve modifying the event loop to better handle idle states or filtering out heartbeat/keepalive events.

Notes

The solution may require a deep understanding of the event loop mechanism in cli.py, the behavior of Gateway heartbeat/keepalive events, and how Prompt_toolkit handles re-rendering. The exact fix could depend on the specific versions of libraries and frameworks used, which are not detailed in the issue description.

Recommendation

Apply a workaround by modifying the event loop handling in cli.py to better manage idle states and potentially filter out Gateway heartbeat/keepalive events that might be causing the issue, as these are identified as potential causes and areas of known fragility in the code.

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(cli): Status bar duplicated as new lines when idle (not updating in-place) [1 comments, 1 participants]