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

Author: lhby2004Created Sep 15, 2026Updated Sep 16, 2026
Labelswindows

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):

json
{"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.

Source: DeusData/codebase-memory-mcp