From a696bceafaa24c68e2598eab65a7eb043af3ed8e Mon Sep 17 00:00:00 2001 From: Aamir Jawaid Date: Thu, 30 Apr 2026 05:36:33 +0000 Subject: [PATCH] fix(tools_config): handle plugin platforms in platform_tool_universe _get_platform_tools() correctly fell back to f"hermes-{platform}" for unknown (plugin) platforms when building toolset_names, but then unconditionally used PLATFORMS[platform] again for platform_tool_universe, causing KeyError for any plugin-registered platform like Teams. Co-Authored-By: Claude Sonnet 4.6 --- hermes_cli/tools_config.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hermes_cli/tools_config.py b/hermes_cli/tools_config.py index 5290bd1b04..28b1a50cf0 100644 --- a/hermes_cli/tools_config.py +++ b/hermes_cli/tools_config.py @@ -849,7 +849,9 @@ def _get_platform_tools( # checklist or in a user-saved config. Must run in BOTH branches — # otherwise saving via `hermes tools` (which flips has_explicit_config # to True) silently drops them. - platform_tool_universe = set(resolve_toolset(PLATFORMS[platform]["default_toolset"])) + _plat_info = PLATFORMS.get(platform) + _default_ts = _plat_info["default_toolset"] if _plat_info else f"hermes-{platform}" + platform_tool_universe = set(resolve_toolset(_default_ts)) configurable_tool_universe = set() for ck in configurable_keys: configurable_tool_universe.update(resolve_toolset(ck))