Summary
Self-hosted Honcho memory silently fails to initialize when using ghcr.io/plastic-labs/honcho:latest (currently v3.0.5), because the honcho-ai SDK bundled in the Hermes image is 2.1.0, which is incompatible with the v3 API.
What happens
Hermes logs on every startup:
WARNING plugins.memory.honcho: Honcho init failed: An unexpected error occurred
No memory is saved or retrieved across sessions.
Root cause
The Honcho server v3.x exposes a /v3/ API with a different resource shape. The honcho-ai 2.1.0 SDK calls a v2-era API — specifically, h.workspaces is a bound method in 2.x, not a resource object, so h.workspaces.get_or_create() raises:
AttributeError: 'function' object has no attribute 'get_or_create'
Confirmed by running inside the hermes container:
from honcho import Honcho
h = Honcho(base_url='http://honcho-api:8000')
h.workspaces.get_or_create(name='hermes')
# AttributeError: 'function' object has no attribute 'get_or_create'
Versions
nousresearch/hermes-agent:latest — honcho-ai 2.1.0
ghcr.io/plastic-labs/honcho:latest — Honcho server 3.0.5
pyproject.toml in this repo: honcho = ["honcho-ai>=2.0.1,<3"]
Attempted workaround
Pinning Honcho server to v2.5.1 resolves the SDK mismatch but introduces a separate incompatibility: v2.5.1 rejects EMBEDDING_PROVIDER=openrouter (only openai/gemini accepted), which the latest Hermes honcho.env.secret template uses.
Expected fix
Update the honcho-ai dependency in Hermes to >=3.0.0 and update the Honcho plugin code to match the v3 SDK API. The Honcho server latest tag should be the target.
Summary
Self-hosted Honcho memory silently fails to initialize when using
ghcr.io/plastic-labs/honcho:latest(currently v3.0.5), because thehoncho-aiSDK bundled in the Hermes image is 2.1.0, which is incompatible with the v3 API.What happens
Hermes logs on every startup:
No memory is saved or retrieved across sessions.
Root cause
The Honcho server v3.x exposes a
/v3/API with a different resource shape. Thehoncho-ai2.1.0 SDK calls a v2-era API — specifically,h.workspacesis a bound method in 2.x, not a resource object, soh.workspaces.get_or_create()raises:Confirmed by running inside the hermes container:
Versions
nousresearch/hermes-agent:latest—honcho-ai2.1.0ghcr.io/plastic-labs/honcho:latest— Honcho server 3.0.5pyproject.tomlin this repo:honcho = ["honcho-ai>=2.0.1,<3"]Attempted workaround
Pinning Honcho server to
v2.5.1resolves the SDK mismatch but introduces a separate incompatibility: v2.5.1 rejectsEMBEDDING_PROVIDER=openrouter(onlyopenai/geminiaccepted), which the latest Hermeshoncho.env.secrettemplate uses.Expected fix
Update the
honcho-aidependency in Hermes to>=3.0.0and update the Honcho plugin code to match the v3 SDK API. The Honcho serverlatesttag should be the target.