[BUG] process_loop thread lacks asyncio event loop → RuntimeWarning on startup, harmless but noisy
Environment
- Hermes version: latest (CLI build)
- OS: WSL2 (Ubuntu 22.04) on Windows
- Python: 3.11+
- MCP servers: aisay + obsidian (both connect successfully)
Steps to Reproduce
- Start Hermes CLI with MCP enabled (
hermes --mcp or default config)
- Observe terminal output during boot
Observed Behavior
Error: There is no current event loop in thread 'Thread-3 (process_loop)'.
/home/yy/hermes-agent/cli.py:11567: RuntimeWarning: coroutine 'run_in_terminal.<locals>.run' was never awaited
print(f"Error: {e}")
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Expected Behavior
No RuntimeWarning; process_loop thread should have a properly set asyncio event loop.
Impact
- ✅ Zero functional impact: all MCP tools (
mcp_aisay_*, mcp_obsidian_*) work normally
- ❌ Pure noise: pollutes logs, may confuse users debugging real issues
- 🚫 Not user-fixable: requires patching Hermes' thread/event-loop initialization logic in
cli.py
Notes
- This occurs on every cold start, regardless of MCP server count or config
- Does NOT prevent
aisay login, message send/read, or obsidian file access
- Confirmed by agent:
mcp_aisay_my_status() and mcp_obsidian_search() both succeed post-boot
[BUG] process_loop thread lacks asyncio event loop → RuntimeWarning on startup, harmless but noisy
Environment
Steps to Reproduce
hermes --mcpor default config)Observed Behavior
Expected Behavior
No RuntimeWarning;
process_loopthread should have a properly set asyncio event loop.Impact
mcp_aisay_*,mcp_obsidian_*) work normallycli.pyNotes
aisaylogin, message send/read, orobsidianfile accessmcp_aisay_my_status()andmcp_obsidian_search()both succeed post-boot