From 01177ed719e845fc505fe992a28c8980a017e237 Mon Sep 17 00:00:00 2001 From: Jan-Stefan Janetzky Date: Tue, 25 Aug 2026 12:04:01 +0200 Subject: [PATCH] fix(mcp-catalog): don't announce a probe on the exclude-mode install path The "Probing '' for available tools..." line printed before the exclude-mode short-circuit, which deliberately never probes (the test suite asserts _probe_tools must not run there). Move the announcement next to the actual probe call so install output matches what happened. --- hermes_cli/mcp_catalog.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hermes_cli/mcp_catalog.py b/hermes_cli/mcp_catalog.py index 9a7a5d73ff..bc19cfdf12 100644 --- a/hermes_cli/mcp_catalog.py +++ b/hermes_cli/mcp_catalog.py @@ -725,7 +725,6 @@ def _apply_tool_selection( - Either way, point the user at ``hermes mcp configure ``. """ print() - print(color(f" Probing '{entry.name}' for available tools...", Colors.CYAN)) # Exclude-mode manifests short-circuit the checklist entirely: the curated # exclude list (names or glob patterns) is written as-is, everything else @@ -734,6 +733,7 @@ def _apply_tool_selection( # selection falls through to the checklist below, and a prior user-edited # exclude list is re-written verbatim instead of being clobbered by the # manifest defaults. + # (No probe announcement here — this path deliberately never probes.) if entry.tools.default_excluded and prior_selection is None: if prior_exclude is not None: _write_tools_exclude(entry.name, prior_exclude) @@ -756,6 +756,7 @@ def _apply_tool_selection( )) return + print(color(f" Probing '{entry.name}' for available tools...", Colors.CYAN)) probed = _probe_tools(entry.name) # Probe failure path