From 8e2e3202da385a26686e5ccc1249a65466e40aba Mon Sep 17 00:00:00 2001 From: Chris Cowan Date: Mon, 20 Jul 2026 15:05:06 -0500 Subject: [PATCH] fix: suppress reasoning display in quiet single-query mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The -Q quiet single-query path suppresses stream_delta_callback and tool_gen_callback to keep stdout machine-readable, but missed reasoning_callback. When display.show_reasoning is on (the default), the reasoning box leaks into stdout before the final response, corrupting output for automation wrappers and third-party integrations using --source tool. Before: hermes chat -Q --source tool -q "Reply with exactly: PING_OK" ┌─ Reasoning ──────────────────────┐ The user wants me to reply... PING_OK After: PING_OK --- cli.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cli.py b/cli.py index 6ba6e8ab73..9f62700df5 100644 --- a/cli.py +++ b/cli.py @@ -21375,9 +21375,11 @@ def main( cli.agent.suppress_status_output = True # Suppress streaming display callbacks so stdout stays # machine-readable (no styled "Hermes" box, no tool-gen - # status lines). The response is printed once below. + # status lines, no reasoning box). The response is + # printed once below. cli.agent.stream_delta_callback = None cli.agent.tool_gen_callback = None + cli.agent.reasoning_callback = None try: result = cli.agent.run_conversation( user_message=effective_query,