Bug
When users have explicit platform_toolsets configured in config.yaml (created by running hermes tools), the Honcho tools (honcho_context, honcho_profile, honcho_search, honcho_conclude) are missing from the tool surface despite Honcho being active and context injection working correctly.
Root Cause
The honcho toolset is defined in toolsets.py but is not in CONFIGURABLE_TOOLSETS in hermes_cli/tools_config.py. When _get_platform_tools() resolves which toolsets to enable for a platform, it only considers CONFIGURABLE_TOOLSETS entries (plus plugin toolsets). Since honcho is not in either list, it is excluded from enabled_toolsets.
The flow:
_get_platform_tools() returns toolsets without honcho
AIAgent.__init__ builds initial tool surface — no honcho tools
_activate_honcho() calls set_session_context(), then rebuilds the tool surface via get_tool_definitions(enabled_toolsets=...) — still no honcho in the list
- The
check_fn (_check_honcho_available) returns True, but get_tool_definitions only considers tools from listed toolsets, so honcho tools are filtered out
Who is affected
Any user who has run hermes tools to customize their toolset configuration. Users who have never customized (where enabled_toolsets=None, triggering "all toolsets" mode) are not affected.
Reproduction
- Run
hermes tools and save any configuration (this creates platform_toolsets in config.yaml)
- Set up Honcho (
hermes honcho setup)
- Start a new CLI session
- Honcho context injection works (visible in system prompt), but
honcho_context / honcho_profile / honcho_search / honcho_conclude tools are not callable
Fix
Auto-inject the honcho toolset in _get_platform_tools() when a valid Honcho config exists, following the same pattern used for plugin toolsets. This ensures honcho tools are available on all platforms regardless of explicit toolset configuration.
# In hermes_cli/tools_config.py, _get_platform_tools(), after plugin toolset handling:
# Honcho toolset: auto-enable when configured, like plugins.
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
Alternatively, honcho could be added to CONFIGURABLE_TOOLSETS so it appears in the hermes tools UI and gets saved with the rest.
Bug
When users have explicit
platform_toolsetsconfigured inconfig.yaml(created by runninghermes tools), the Honcho tools (honcho_context,honcho_profile,honcho_search,honcho_conclude) are missing from the tool surface despite Honcho being active and context injection working correctly.Root Cause
The
honchotoolset is defined intoolsets.pybut is not inCONFIGURABLE_TOOLSETSinhermes_cli/tools_config.py. When_get_platform_tools()resolves which toolsets to enable for a platform, it only considersCONFIGURABLE_TOOLSETSentries (plus plugin toolsets). Sincehonchois not in either list, it is excluded fromenabled_toolsets.The flow:
_get_platform_tools()returns toolsets withouthonchoAIAgent.__init__builds initial tool surface — no honcho tools_activate_honcho()callsset_session_context(), then rebuilds the tool surface viaget_tool_definitions(enabled_toolsets=...)— still nohonchoin the listcheck_fn(_check_honcho_available) returns True, butget_tool_definitionsonly considers tools from listed toolsets, so honcho tools are filtered outWho is affected
Any user who has run
hermes toolsto customize their toolset configuration. Users who have never customized (whereenabled_toolsets=None, triggering "all toolsets" mode) are not affected.Reproduction
hermes toolsand save any configuration (this createsplatform_toolsetsinconfig.yaml)hermes honcho setup)honcho_context/honcho_profile/honcho_search/honcho_concludetools are not callableFix
Auto-inject the
honchotoolset in_get_platform_tools()when a valid Honcho config exists, following the same pattern used for plugin toolsets. This ensures honcho tools are available on all platforms regardless of explicit toolset configuration.Alternatively,
honchocould be added toCONFIGURABLE_TOOLSETSso it appears in thehermes toolsUI and gets saved with the rest.