From 0a4cb5fe8a5cc6bbf5334d142f785817d3ff070a Mon Sep 17 00:00:00 2001 From: kshitijk4poor <82637225+kshitijk4poor@users.noreply.github.com> Date: Thu, 24 Sep 2026 16:59:37 +0530 Subject: [PATCH] fix(setup): don't pin a global tool_progress when `hermes setup agent` gets Enter `hermes setup agent` offered "all" as the default for an unset display.tool_progress, so pressing Enter wrote a global `display.tool_progress: all`. The gateway merges no DEFAULT_CONFIG, so that explicit global beats every platform tier and Telegram/Slack went from their `off` default to `all` -- the same leak this stack removes from _apply_default_agent_settings and _blank_slate_minimize_config (#121230). When the key is unset, Enter now keeps per-platform defaults and writes nothing; an explicitly typed mode, or re-confirming an already-set value, still saves as before. --- hermes_cli/setup.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/hermes_cli/setup.py b/hermes_cli/setup.py index b933c231b7..1ffd44a6cd 100644 --- a/hermes_cli/setup.py +++ b/hermes_cli/setup.py @@ -463,14 +463,19 @@ def setup_agent_settings(config: dict): # ── Tool Progress Display ── _info("", *_TOOL_PROGRESS_HELP) - current_mode = cfg_get(config, "display", "tool_progress", default="all") - mode = prompt("Tool progress mode", current_mode) - if mode.lower() in {"off", "new", "all", "verbose", "log"}: + # Unset = each platform keeps its own default (CLI all, Telegram/Slack off). Enter on an unset key must keep + # that: a global display.tool_progress beats every platform tier (#121230). + current_mode = cfg_get(config, "display", "tool_progress") + mode = prompt("Tool progress mode" if current_mode else "Tool progress mode (Enter keeps per-platform defaults)", + current_mode) + if not mode and not current_mode: + print_info("Keeping each platform's default tool progress") + elif mode.lower() in {"off", "new", "all", "verbose", "log"}: config.setdefault("display", {})["tool_progress"] = mode.lower() save_config(config) print_success(f"Tool progress set to: {mode.lower()}") else: - print_warning(f"Unknown mode '{mode}', keeping '{current_mode}'") + print_warning(f"Unknown mode '{mode}', keeping '{current_mode or 'per-platform defaults'}'") # ── Context Compression ── print_header("Context Compression")