hermes - 💡(How to fix) Fix [--tui] gateway exits mid-turn with stdin EOF (TUI closed the command pipe) — NOT byterover-related

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…

In --tui mode on macOS, the Python gateway exits mid-turn with reason=stdin EOF (TUI closed the command pipe). This happens with built-in memory (memory.provider: ""), not byterover — so it may be a more general variant of #14036.

Root Cause

In --tui mode on macOS, the Python gateway exits mid-turn with reason=stdin EOF (TUI closed the command pipe). This happens with built-in memory (memory.provider: ""), not byterover — so it may be a more general variant of #14036.

Fix Action

Workaround

hermes gateway install   # launchd service — decouples gateway from TUI lifecycle

After installing as launchd, TUI crashes no longer kill the gateway — re-launching hermes --tui reconnects.

Code Example

=== gateway exit · 2026-05-17 01:02:44 · reason=stdin EOF (TUI closed the command pipe) ===
=== gateway exit · 2026-05-17 12:52:16 · reason=stdin EOF (TUI closed the command pipe) ===
=== gateway exit · 2026-05-17 13:28:57 · reason=stdin EOF (TUI closed the command pipe) ===

---

hermes gateway install   # launchd service — decouples gateway from TUI lifecycle

---

=== gateway exit · 2026-05-17 01:02:44 · reason=stdin EOF (TUI closed the command pipe) ===

=== SIGHUP received · 2026-05-17 12:18:28 ===
main-thread stack at signal delivery:
  File "tui_gateway/entry.py", line 227, in main
    for raw in sys.stdin:

=== gateway exit · 2026-05-17 12:52:16 · reason=stdin EOF (TUI closed the command pipe) ===

=== gateway exit · 2026-05-17 13:28:57 · reason=stdin EOF (TUI closed the command pipe) ===
RAW_BUFFERClick to expand / collapse

Summary

In --tui mode on macOS, the Python gateway exits mid-turn with reason=stdin EOF (TUI closed the command pipe). This happens with built-in memory (memory.provider: ""), not byterover — so it may be a more general variant of #14036.

Environment

  • OS: macOS 26.5 (darwin)
  • Hermes: v0.14.0 (2026.5.16) @ a91a57fa5
  • Python: 3.11.10
  • Config: memory.provider: "" (built-in only), DeepSeek v4-pro via custom provider
  • No byterover, no external memory plugins

What happens

Mid-conversation, the TUI shows "gateway exited" and the session is lost. The crash log shows clean exits, not crashes:

=== gateway exit · 2026-05-17 01:02:44 · reason=stdin EOF (TUI closed the command pipe) ===
=== gateway exit · 2026-05-17 12:52:16 · reason=stdin EOF (TUI closed the command pipe) ===
=== gateway exit · 2026-05-17 13:28:57 · reason=stdin EOF (TUI closed the command pipe) ===

Three exits within ~12 hours, all the same pattern. One SIGHUP (terminal closed) also recorded but that is expected.

Differences from #14036

#14036 is specifically triggered by memory.provider: byterover and shows SIGPIPE floods. This case:

  • Uses built-in memory only
  • Shows clean stdin EOF, no SIGPIPE flood
  • Happens on macOS (darwin), not Linux

Same mechanism (Node TUI closes the pipe to Python gateway) but different trigger.

Workaround

hermes gateway install   # launchd service — decouples gateway from TUI lifecycle

After installing as launchd, TUI crashes no longer kill the gateway — re-launching hermes --tui reconnects.

Crash log excerpt

=== gateway exit · 2026-05-17 01:02:44 · reason=stdin EOF (TUI closed the command pipe) ===

=== SIGHUP received · 2026-05-17 12:18:28 ===
main-thread stack at signal delivery:
  File "tui_gateway/entry.py", line 227, in main
    for raw in sys.stdin:

=== gateway exit · 2026-05-17 12:52:16 · reason=stdin EOF (TUI closed the command pipe) ===

=== gateway exit · 2026-05-17 13:28:57 · reason=stdin EOF (TUI closed the command pipe) ===

Full crash log available if needed.

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 [--tui] gateway exits mid-turn with stdin EOF (TUI closed the command pipe) — NOT byterover-related