{"record":{"id":"2d5e0197ab76b7d0","repo":"rohitg00/agentmemory","slug":"hermes-uses-yaml-config-automated-merge-isn-t-imp","errorCode":null,"errorMessage":"Hermes uses YAML config. Automated merge isn't implemented yet — manual install required.","messagePattern":"Hermes uses YAML config\\. Automated merge isn't implemented yet — manual install required\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"src/cli/connect/hermes.ts","lineNumber":24,"sourceCode":"\nconst HERMES_DIR = join(homedir(), \".hermes\");\nconst HERMES_CONFIG = join(HERMES_DIR, \"config.yaml\");\nconst DOCS = \"https://github.com/rohitg00/agentmemory/tree/main/integrations/hermes\";\n\nexport const adapter: ConnectAdapter = {\n  name: \"hermes\",\n  displayName: \"Hermes Agent\",\n  category: \"native\",\n  docs: DOCS,\n  protocolNote:\n    \"→ Using MCP. Hooks are also available — see https://github.com/rohitg00/agentmemory/tree/main/integrations/hermes.\",\n\n  detect(): boolean {\n    return existsSync(HERMES_DIR);\n  },\n\n  async install(_opts: ConnectOptions): Promise<ConnectResult> {\n    p.log.warn(\n      \"Hermes uses YAML config. Automated merge isn't implemented yet — manual install required.\",\n    );\n    p.note(\n      [\n        `Add to ${HERMES_CONFIG}:`,\n        \"\",\n        \"  mcp_servers:\",\n        \"    agentmemory:\",\n        \"      command: npx\",\n        '      args: [\"-y\", \"@agentmemory/mcp\"]',\n        \"\",\n        \"  memory:\",\n        \"    provider: agentmemory\",\n        \"\",\n        `Full guide: ${DOCS}`,\n      ].join(\"\\n\"),\n      \"Hermes manual install\",\n    );","sourceCodeStart":6,"sourceCodeEnd":42,"githubUrl":"https://github.com/rohitg00/agentmemory/blob/e04ba88819c365c9acf9d6661ea802143e728bd6/src/cli/connect/hermes.ts#L6-L42","documentation":"agentmemory's connect command supports multiple agent CLIs. For Hermes, no automated config merge is implemented because Hermes uses YAML configuration (unlike the JSON files of other adapters), so the adapter's install() deliberately emits this warning plus a manual-instruction note and returns a skipped/manual result. It is expected behavior, not a bug.","triggerScenarios":"Running `agentmemory connect hermes` (or selecting Hermes in the interactive connect flow) — install() always takes this path because automated YAML merging is not implemented; it fires regardless of config contents.","commonSituations":"Users on fresh setups or after Hermes config changes expecting `connect` to fully wire Hermes; it never will until automated YAML support is added. Users must copy the printed snippet into HERMES_CONFIG by hand.","solutions":["Copy the YAML snippet shown in the p.note() output into your Hermes config file (path shown as HERMES_CONFIG in the note).","Restart Hermes so it picks up the MCP server entry.","Check agentmemory releases/changelog for a newer version that may have added automated Hermes YAML merge.","If you maintain the repo, contribute a YAML merge implementation in src/cli/connect/hermes.ts modeled on the JSON adapters."],"exampleFix":"# before (automated attempt fails to fully wire)\nagentmemory connect hermes\n# -> warning: manual install required\n\n# after (manual edit of the printed path)\n# add to ~/.hermes/config.yaml (path shown in the note):\nmcp:\n  servers:\n    agentmemory:\n      command: agentmemory\n      args: [\"mcp\"]","handlingStrategy":"fallback","validationCode":"import { existsSync } from \"node:fs\";\nconst hermesDir = join(process.env.HOME ?? \"\", \".hermes\");\nif (!existsSync(hermesDir)) {\n  console.error(\"Hermes not detected; connect will only print manual instructions.\");\n}","typeGuard":"type ConnectResult = { kind: \"installed\" } | { kind: \"skipped\"; reason: string } | { kind: \"manual\" };\nfunction needsManualInstall(r: { kind: string }): boolean {\n  return r.kind !== \"installed\";\n}","tryCatchPattern":"const result = await runAdapter(hermesAdapter, opts);\nif (result.kind !== \"installed\") {\n  console.log(\"Manual step required: copy the printed YAML snippet into your Hermes config, then restart Hermes.\");\n}","preventionTips":["Expect manual work for Hermes: the adapter only prints instructions; no automated YAML merge exists yet.","Follow the exact config path shown in the CLI note (HERMES_CONFIG) when pasting the snippet.","Watch agentmemory releases for automated Hermes YAML support before assuming it exists.","Validate the edited YAML (e.g. with a YAML parser) before restarting Hermes."],"tags":["hermes","yaml","manual-install","cli"],"backgroundTag":"adapter-not-implemented","analyzedSha":"e04ba88819c365c9acf9d6661ea802143e728bd6","analyzedAt":"2026-08-30T01:07:40.754Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}