-
Notifications
You must be signed in to change notification settings - Fork 603
Description
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
- Configure Honcho with
enabled: trueand a validapiKeyin~/.honcho/config.json, or provideHONCHO_API_KEYvia environment resolution. - Run
hermes doctor. - Inspect the
◆ Tool Availabilitysection.
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_keyas 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