fix(cli): decouple quiet_mode from -v flag, derive from tool_progress_mode

quiet_mode was set to , making every non-verbose session
silently suppress tool result output in tool_executor.py — even when
display.tool_progress was configured as 'all'. The two rendering branches
in tool_executor (quiet-tool-messages and not-quiet-mode) both failed,
so only the spinner callback's one-liner was visible.

Now quiet_mode derives from tool_progress_mode: True only when 'off',
False for 'all', 'new', and 'verbose'. The /verbose cycle also syncs
agent.quiet_mode to stay consistent.

Fixes #33860
This commit is contained in:
BarnacleBoy 2026-05-28 19:54:20 +00:00
parent 321ce94e25
commit 9ef013cf23

5
cli.py
View file

@ -4961,7 +4961,7 @@ class HermesCLI:
enabled_toolsets=self.enabled_toolsets,
disabled_toolsets=self.disabled_toolsets,
verbose_logging=self.verbose,
quiet_mode=not self.verbose,
quiet_mode=(self.tool_progress_mode == "off"),
ephemeral_system_prompt=self.system_prompt if self.system_prompt else None,
prefill_messages=self.prefill_messages or None,
reasoning_config=self.reasoning_config,
@ -9606,6 +9606,9 @@ class HermesCLI:
if self.agent:
self.agent.reasoning_callback = self._current_reasoning_callback()
# Keep agent quiet_mode in sync with the new tool_progress_mode
# so tool_executor rendering paths stay consistent.
self.agent.quiet_mode = (self.tool_progress_mode == "off")
# Use raw ANSI codes via _cprint so the output is routed through
# prompt_toolkit's renderer. self.console.print() with Rich markup