From 301a1bddcf6803ae90d513b4bb73cd7f97dda9cb Mon Sep 17 00:00:00 2001 From: Bartok9 Date: Thu, 23 Apr 2026 13:00:47 +0700 Subject: [PATCH] fix(honcho): auto-enable honcho toolset when configured (v2, rebased) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a user runs `hermes tools` to customize their toolset config, platform_toolsets becomes explicit and the honcho toolset is silently dropped — even if the user ran `hermes honcho setup` and has a valid configuration. Fix: check for a configured HonchoClientConfig and auto-add 'honcho' to enabled_toolsets, mirroring the existing auto-enable logic for plugins. Import is guarded in try/except so no breakage when honcho is not installed. Fixes #4523 --- hermes_cli/tools_config.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hermes_cli/tools_config.py b/hermes_cli/tools_config.py index 7a9a598f950bb..330aaea435fc8 100644 --- a/hermes_cli/tools_config.py +++ b/hermes_cli/tools_config.py @@ -607,6 +607,18 @@ def _get_platform_tools( enabled_toolsets.add(pts) # else: known but not in config = user disabled it + # Honcho toolset: auto-enable when configured, similar to plugins. + # Honcho is not in CONFIGURABLE_TOOLSETS (it is enabled via `hermes honcho setup`), + # so it would be silently dropped when platform_toolsets is explicitly configured. + if "honcho" not in enabled_toolsets: + try: + from honcho_integration.client import HonchoClientConfig + hcfg = HonchoClientConfig.from_global_config() + if hcfg.enabled and (hcfg.api_key or hcfg.base_url): + enabled_toolsets.add("honcho") + except Exception: + pass # honcho not installed or not configured — skip silently + # Preserve any explicit non-configurable toolset entries (for example, # custom toolsets or MCP server names saved in platform_toolsets). platform_default_keys = {p["default_toolset"] for p in PLATFORMS.values()}