Skip to content

fix(honcho): honcho toolset excluded from tool surface when platform_toolsets is configured #4523

@flux627

Description

@flux627

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:

  1. _get_platform_tools() returns toolsets without honcho
  2. AIAgent.__init__ builds initial tool surface — no honcho tools
  3. _activate_honcho() calls set_session_context(), then rebuilds the tool surface via get_tool_definitions(enabled_toolsets=...) — still no honcho in the list
  4. 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

  1. Run hermes tools and save any configuration (this creates platform_toolsets in config.yaml)
  2. Set up Honcho (hermes honcho setup)
  3. Start a new CLI session
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/toolsTool registry, model_tools, toolsetssweeper:implemented-on-mainSweeper: behavior already present on current maintype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions