Skip to content

[Bug]: hermes doctor reports configured Honcho as unavailable #961

@PeterFile

Description

@PeterFile

Bug Description

hermes doctor reports honcho as unavailable even when Honcho is configured correctly.

The current doctor path reuses the runtime tool availability gate for query_user_context, which only returns available after a live agent session has already injected a Honcho session manager and session key. That makes the doctor result a false negative for configured installations.

Steps to Reproduce

  1. Configure Honcho with enabled: true and a valid apiKey in ~/.honcho/config.json, or provide HONCHO_API_KEY via environment resolution.
  2. Run hermes doctor.
  3. Inspect the ◆ Tool Availability section.

Expected Behavior

When Honcho is configured and can be initialized by Hermes, hermes doctor should report it as available or otherwise indicate that it is configured.

Actual Behavior

hermes doctor reports:

◆ Tool Availability
  ⚠ honcho (system dependency not met)

This is misleading because the problem is not a missing system dependency. It is only that the doctor process is not itself a live agent session.

Affected Component

  • Tools (terminal, file ops, web, code execution, etc.)
  • Configuration (config.yaml, .env, hermes setup)
  • Other

Messaging Platform (if gateway-related)

  • N/A (CLI only)

Operating System

macOS

Python Version

3.11.14

Hermes Version

vv1.0.0

Relevant Logs / Traceback

◆ Tool Availability
  ✓ web
  ✓ terminal
  ✓ skills
  ✓ browser
  ✓ file
  ✓ tts
  ✓ todo
  ✓ clarify
  ✓ code_execution
  ✓ delegation
  ✓ memory
  ✓ session_search
  ✓ mcp-github
  ⚠ vision (system dependency not met)
  ⚠ moa (missing OPENROUTER_API_KEY)
  ⚠ image_gen (missing FAL_KEY)
  ⚠ cronjob (system dependency not met)
  ⚠ rl (missing TINKER_API_KEY, WANDB_API_KEY)
  ⚠ messaging (system dependency not met)
  ⚠ honcho (system dependency not met)
  ⚠ homeassistant (system dependency not met)

Root Cause Analysis (optional)

tools/honcho_tools.py marks Honcho available only when _session_manager and _session_key have already been injected for the current live session.

That runtime gate is valid for actual tool execution, but hermes doctor is not running inside a live agent session. Reusing that gate in doctor makes the diagnostic check ask the wrong question.

Doctor should check whether Honcho is configured for activation, not whether the current process has already activated a session-scoped Honcho context.

Proposed Fix (optional)

In hermes_cli/doctor.py, apply a doctor-specific override for the honcho toolset:

  • resolve HonchoClientConfig.from_global_config()
  • treat enabled && api_key as configured/available for doctor output
  • keep the runtime tool gate unchanged

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions