Skip to content

install on Hermes Agent: pre_llm_hook_install fails (mcp_servers + skill succeed) #2209

Description

@lhby2004

Summary

codebase-memory-mcp install on Hermes Agent (Windows 11, v0.10.8) successfully registers the MCP server and the codebase-memory skill, but the pre_llm_call hook install step fails with an opaque error and the install reports "activation stopped after one or more agent configuration or cleanup operations failed."

Environment

  • codebase-memory-mcp 0.10.8 (build b4b403b1d7c4def3785f148b93f345ce8427858f4f5489ce28580c4387a336a6)
  • Platform: Windows 11 25H2, PowerShell + Git Bash
  • Target: Hermes Agent (HERMES_HOME=C:\Users\great\AppData\Local\hermes)
  • Hermes config.yaml current state — uses a plugins: section with enabled: [disk-cleanup] list, not a plugins.pre_llm_call array

Reproduction

$ codebase-memory-mcp install -y
codebase-memory-mcp install 0.10.8
Found 2 existing index(es). Keeping them. After install, re-index...
Installed binary -> C:/Users/great/.local/bin/codebase-memory-mcp.exe
Detected agents: Hermes CodeBuddy Code CLI

Hermes:
  mcp: ...\hermes\config.yaml              [OK]
  skill: ...\skills\codebase-memory\SKILL.md (1 installed)  [OK]
  hook: ...\config.yaml (pre_llm_call)     [FAIL]
CodeBuddy Code CLI:
  ...                                        [OK]

error: agent_config agent=Hermes op=pre_llm_hook_install path=C:\Users\great\AppData\Local\hermes/config.yaml (target: regular file, 5157 bytes)
error: one or more agent configurations failed; the published/current executable was kept, and PATH/index cleanup was not attempted
error: activation stopped after one or more agent configuration or cleanup operations failed; the published/current executable was kept, and configuration changes that completed may remain. Please restart your coding-agent sessions after resolving the errors above.

Activation log (~/.cache/codebase-memory-mcp/logs/activation-events.ndjson):

{"event":"cbm.activation","phase":"failed","action":"install","requester_pid":7176,"timestamp_unix_s":1789439252,...,"detail":"published/current binary retained; agent configuration refresh or cleanup incomplete"}

Likely cause

Hermes's plugin system is invoked via invoke_hook("pre_llm_call", ...) (agent/turn_context.py); plugins register as Python packages under plugins/<name>/__init__.py with a config_schema.py, not as YAML array entries.

The cbm install path appears to try writing a pre_llm_call entry directly into config.yaml, but Hermes's config schema has no such key — it has plugins.enabled: [...] for top-level enable and a Python plugin loader for hook registration. The error "target: regular file, 5157 bytes" looks like a validation failure on a YAML schema that doesn't match Hermes's config layout.

Workaround

The remaining 2/3 of the install works (mcp_servers entry + skill), so the agent can still call cbm's 15 tools via MCP and trigger them via the skill. Only the optional pre_llm_call automatic index-on-every-turn hook is broken — which is arguably the safer default anyway.

Suggestion

Either:

  1. Detect Hermes's plugin system and install via a Python plugin under plugins/codebase-memory/__init__.py (registering pre_llm_call), or
  2. Skip the pre_llm_call step for Hermes with a clear "not supported on this host" message instead of an opaque agent_config ... failed error, or
  3. Document the supported install path in README → "Known agent integrations" for Hermes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    windowsWindows-specific issues

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions