diff --git a/hermes_cli/tools_config.py b/hermes_cli/tools_config.py index acadd4b81fc..9dbfe51b877 100644 --- a/hermes_cli/tools_config.py +++ b/hermes_cli/tools_config.py @@ -1980,7 +1980,10 @@ def _save_platform_tools(config: dict, platform: str, enabled_toolset_keys: Set[ # Track which plugin toolsets are "known" for this platform so we can # distinguish "new plugin, default enabled" from "user disabled it". if plugin_keys: - config.setdefault("known_plugin_toolsets", {}) + # setdefault does NOT replace a present-but-null key ("known_plugin_toolsets:" + # in config.yaml parses to None) — normalize before indexing into it. + if not isinstance(config.get("known_plugin_toolsets"), dict): + config["known_plugin_toolsets"] = {} config["known_plugin_toolsets"][platform] = sorted(plugin_keys) # Reconcile with agent.disabled_toolsets. _get_platform_tools() applies