hermes - 💡(How to fix) Fix mnemosyne-hermes Plugin: NOT installed despite correct entry point registration (Python 3.11 / Hermes venv)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

After following the documented installation steps, hermes memory status consistently reports Plugin: NOT installed ✗ despite the plugin entry point being correctly registered, the package being importable from the Hermes venv, and Hermes partially recognizing Mnemosyne (auto-creating ~/.hermes/mnemosyne/data/mnemosyne.db).

The hermes mnemosyne CLI subcommand is also not registered, confirming the plugin is not fully surfaced.


Error Message

ModuleNotFoundError: No module named 'mnemosyne.core'

Root Cause

<hr> <h2>Summary</h2> <p>After following the documented installation steps, <code>hermes memory status</code> consistently reports <code>Plugin: NOT installed ✗</code> despite the plugin entry point being correctly registered, the package being importable from the Hermes venv, and Hermes partially recognizing Mnemosyne (auto-creating <code>~/.hermes/mnemosyne/data/mnemosyne.db</code>).</p> <p>The <code>hermes mnemosyne</code> CLI subcommand is also not registered, confirming the plugin is not fully surfaced.</p> <hr> <h2>Steps to Reproduce</h2> <h3>Attempt 1 — PyPI install into Hermes venv</h3> <pre><code class="language-bash">~/.hermes/hermes-agent/venv/bin/pip install mnemosyne-hermes hermes config set memory.provider mnemosyne hermes memory status </code></pre> <p><strong>Result:</strong> <code>Plugin: NOT installed ✗</code></p> <p><strong>Root cause found:</strong> PyPI serves <code>mnemosyne-hermes==0.1.0</code> to the Hermes venv (Python 3.11), which is incompatible with <code>mnemosyne-memory==3.3.0</code>:</p> <pre><code>ModuleNotFoundError: No module named 'mnemosyne.core' </code></pre> <p>Note: <code>mnemosyne-hermes==0.1.1</code> is available on PyPI but was not served to the Python 3.11 venv — only 0.1.0 was resolved.</p> <h3>Attempt 2 — Source install into Hermes venv</h3> <pre><code class="language-bash">~/.hermes/hermes-agent/venv/bin/pip install -e "/path/to/mnemosyne/integrations/hermes" ~/.hermes/hermes-agent/venv/bin/python -c "import mnemosyne_hermes; print('found')" </code></pre> <p><strong>Import result:</strong> <code>ModuleNotFoundError: No module named 'mnemosyne.core'</code></p> <p><strong>Root cause found:</strong> The <code>~/mnemosyne</code> git clone directory shadows the installed <code>mnemosyne-memory</code> package because Python resolves <code>~/mnemosyne/__init__.py</code> before the venv's site-packages.</p> <h3>Attempt 3 — Source install after renaming git clone</h3> <pre><code class="language-bash">mv ~/mnemosyne ~/mnemosyne-src ~/.hermes/hermes-agent/venv/bin/pip install -e "/path/to/mnemosyne-src/integrations/hermes" ~/.hermes/hermes-agent/venv/bin/python -c "import mnemosyne_hermes; print('found')" </code></pre> <p><strong>Import result:</strong> <code>found</code> ✓</p> <p><strong>Entry point verification:</strong></p> <pre><code class="language-python">import importlib.metadata eps = importlib.metadata.entry_points() # Returns: # hermes_agent.plugins [EntryPoint(name='mnemosyne', value='mnemosyne_hermes:register', group='hermes_agent.plugins')] </code></pre> <p><strong>Entry point correctly registered</strong> ✓</p> <p><strong><code>hermes memory status</code> result:</strong> <code>Plugin: NOT installed ✗</code> ✗</p> <h3>Attempt 4 — Manual plugin.yaml placement (various paths)</h3> <p>Tried the following paths based on Hermes plugin documentation and community suggestions:</p> <pre><code>~/.hermes/plugins/mnemosyne.yaml ~/.hermes/plugins/memory/mnemosyne/plugin.yaml ~/.hermes/hermes-agent/plugins/memory/mnemosyne/plugin.yaml (symlink) </code></pre> <p><strong>Result in all cases:</strong> <code>Plugin: NOT installed ✗</code></p> <hr> <h2>Observed Behavior</h2> <p>Despite full install failure from Hermes's perspective, Hermes <strong>partially recognizes Mnemosyne</strong>:</p> <ul> <li>Auto-creates <code>~/.hermes/mnemosyne/data/mnemosyne.db</code> on startup</li> <li><code>hermes memory status</code> shows <code>Provider: mnemosyne</code> (correctly reads config)</li> <li>Entry point <code>hermes_agent.plugins</code> is correctly registered and discoverable via <code>importlib.metadata</code></li> <li>Package is importable from Hermes venv after path shadowing is resolved</li> </ul> <p><strong>The <code>hermes mnemosyne</code> CLI subcommand is not registered</strong>, confirming the plugin is not fully surfaced despite the above.</p> <hr> <h2>Expected Behavior</h2> <pre><code>Memory status ──────────────────────────────────────── Built-in: always active Provider: mnemosyne Plugin: installed ✓ </code></pre> <p>And <code>hermes mnemosyne stats</code> should return working/episodic memory counts.</p> <hr> <h2>Related Issues</h2> <ul> <li><a href="https://github.com/NousResearch/hermes-agent/issues/9099">NousResearch/hermes-agent #9099</a> — Memory install bug: discovery path mismatch between <code>~/.hermes/plugins/</code> and bundled provider paths</li> <li><a href="https://github.com/NousResearch/hermes-agent/issues/34271">NousResearch/hermes-agent #34271</a> — Proposal to add Mnemosyne to official memory provider documentation</li> </ul> <hr> <h2>Additional Notes</h2> <ul> <li>The <code>mnemosyne.db</code> being auto-created suggests Hermes's memory pipeline is partially initializing Mnemosyne but failing before plugin registration completes</li> <li>The discovery mismatch documented in hermes-agent #9099 appears to be the likely root cause — <code>discover_memory_providers()</code> does not scan <code>hermes_agent.plugins</code> entry points consistently with how bundled providers are loaded</li> <li>Installing <code>mnemosyne-hermes</code> from source into the Hermes venv (Python 3.11) with the git clone renamed to avoid path shadowing is currently the closest working state, but plugin discovery still fails at the Hermes level</li> </ul> <hr> <h2>Suggested Fix</h2> <ol> <li>Ensure <code>discover_memory_providers()</code> in Hermes scans <code>hermes_agent.plugins</code> entry points in addition to bundled provider paths</li> <li>Ensure PyPI serves <code>mnemosyne-hermes==0.1.1</code> to Python 3.11 environments (currently only 0.1.0 resolves)</li> <li>Document the correct manual installation path for third-party memory providers clearly and consistently</li> </ol></body></html><!--EndFragment--> </body> </html># Bug Report: mnemosyne-hermes Plugin Not Discovered by Hermes Agent

Code Example

~/.hermes/hermes-agent/venv/bin/pip install mnemosyne-hermes
hermes config set memory.provider mnemosyne
hermes memory status

---

ModuleNotFoundError: No module named 'mnemosyne.core'

---

~/.hermes/hermes-agent/venv/bin/pip install -e "/path/to/mnemosyne/integrations/hermes"
~/.hermes/hermes-agent/venv/bin/python -c "import mnemosyne_hermes; print('found')"

---

mv ~/mnemosyne ~/mnemosyne-src
~/.hermes/hermes-agent/venv/bin/pip install -e "/path/to/mnemosyne-src/integrations/hermes"
~/.hermes/hermes-agent/venv/bin/python -c "import mnemosyne_hermes; print('found')"

---

import importlib.metadata
eps = importlib.metadata.entry_points()
# Returns:
# hermes_agent.plugins [EntryPoint(name='mnemosyne', value='mnemosyne_hermes:register', group='hermes_agent.plugins')]

---

~/.hermes/plugins/mnemosyne.yaml
~/.hermes/plugins/memory/mnemosyne/plugin.yaml
~/.hermes/hermes-agent/plugins/memory/mnemosyne/plugin.yaml (symlink)

---

Memory status
────────────────────────────────────────
  Built-in:  always active
  Provider:  mnemosyne
  Plugin:    installed ✓
RAW_BUFFERClick to expand / collapse
<html> <body> <!--StartFragment--><html><head></head><body><h1>Bug Report: mnemosyne-hermes Plugin Not Discovered by Hermes Agent</h1> <p><strong>Repository:</strong> https://github.com/AxDSan/mnemosyne<br> <strong>Component:</strong> <code>integrations/hermes</code><br> <strong>Date:</strong> 2026-06-05<br> <strong>Severity:</strong> High — renders the Hermes integration non-functional</p> <hr> <h2>Environment</h2>
ItemDetail
OSUbuntu 24.04 LTS
Python (system)3.12
Python (Hermes venv)3.11
Hermes Agent versionv0.14.0 (2026.5.16)
mnemosyne-memory3.3.0
mnemosyne-hermes (PyPI)0.1.0
mnemosyne-hermes (source)0.1.1
<hr> <h2>Summary</h2> <p>After following the documented installation steps, <code>hermes memory status</code> consistently reports <code>Plugin: NOT installed ✗</code> despite the plugin entry point being correctly registered, the package being importable from the Hermes venv, and Hermes partially recognizing Mnemosyne (auto-creating <code>~/.hermes/mnemosyne/data/mnemosyne.db</code>).</p> <p>The <code>hermes mnemosyne</code> CLI subcommand is also not registered, confirming the plugin is not fully surfaced.</p> <hr> <h2>Steps to Reproduce</h2> <h3>Attempt 1 — PyPI install into Hermes venv</h3> <pre><code class="language-bash">~/.hermes/hermes-agent/venv/bin/pip install mnemosyne-hermes hermes config set memory.provider mnemosyne hermes memory status </code></pre> <p><strong>Result:</strong> <code>Plugin: NOT installed ✗</code></p> <p><strong>Root cause found:</strong> PyPI serves <code>mnemosyne-hermes==0.1.0</code> to the Hermes venv (Python 3.11), which is incompatible with <code>mnemosyne-memory==3.3.0</code>:</p> <pre><code>ModuleNotFoundError: No module named 'mnemosyne.core' </code></pre> <p>Note: <code>mnemosyne-hermes==0.1.1</code> is available on PyPI but was not served to the Python 3.11 venv — only 0.1.0 was resolved.</p> <h3>Attempt 2 — Source install into Hermes venv</h3> <pre><code class="language-bash">~/.hermes/hermes-agent/venv/bin/pip install -e "/path/to/mnemosyne/integrations/hermes" ~/.hermes/hermes-agent/venv/bin/python -c "import mnemosyne_hermes; print('found')" </code></pre> <p><strong>Import result:</strong> <code>ModuleNotFoundError: No module named 'mnemosyne.core'</code></p> <p><strong>Root cause found:</strong> The <code>~/mnemosyne</code> git clone directory shadows the installed <code>mnemosyne-memory</code> package because Python resolves <code>~/mnemosyne/__init__.py</code> before the venv's site-packages.</p> <h3>Attempt 3 — Source install after renaming git clone</h3> <pre><code class="language-bash">mv ~/mnemosyne ~/mnemosyne-src ~/.hermes/hermes-agent/venv/bin/pip install -e "/path/to/mnemosyne-src/integrations/hermes" ~/.hermes/hermes-agent/venv/bin/python -c "import mnemosyne_hermes; print('found')" </code></pre> <p><strong>Import result:</strong> <code>found</code> ✓</p> <p><strong>Entry point verification:</strong></p> <pre><code class="language-python">import importlib.metadata eps = importlib.metadata.entry_points() # Returns: # hermes_agent.plugins [EntryPoint(name='mnemosyne', value='mnemosyne_hermes:register', group='hermes_agent.plugins')] </code></pre> <p><strong>Entry point correctly registered</strong> ✓</p> <p><strong><code>hermes memory status</code> result:</strong> <code>Plugin: NOT installed ✗</code> ✗</p> <h3>Attempt 4 — Manual plugin.yaml placement (various paths)</h3> <p>Tried the following paths based on Hermes plugin documentation and community suggestions:</p> <pre><code>~/.hermes/plugins/mnemosyne.yaml ~/.hermes/plugins/memory/mnemosyne/plugin.yaml ~/.hermes/hermes-agent/plugins/memory/mnemosyne/plugin.yaml (symlink) </code></pre> <p><strong>Result in all cases:</strong> <code>Plugin: NOT installed ✗</code></p> <hr> <h2>Observed Behavior</h2> <p>Despite full install failure from Hermes's perspective, Hermes <strong>partially recognizes Mnemosyne</strong>:</p> <ul> <li>Auto-creates <code>~/.hermes/mnemosyne/data/mnemosyne.db</code> on startup</li> <li><code>hermes memory status</code> shows <code>Provider: mnemosyne</code> (correctly reads config)</li> <li>Entry point <code>hermes_agent.plugins</code> is correctly registered and discoverable via <code>importlib.metadata</code></li> <li>Package is importable from Hermes venv after path shadowing is resolved</li> </ul> <p><strong>The <code>hermes mnemosyne</code> CLI subcommand is not registered</strong>, confirming the plugin is not fully surfaced despite the above.</p> <hr> <h2>Expected Behavior</h2> <pre><code>Memory status ──────────────────────────────────────── Built-in: always active Provider: mnemosyne Plugin: installed ✓ </code></pre> <p>And <code>hermes mnemosyne stats</code> should return working/episodic memory counts.</p> <hr> <h2>Related Issues</h2> <ul> <li><a href="https://github.com/NousResearch/hermes-agent/issues/9099">NousResearch/hermes-agent #9099</a> — Memory install bug: discovery path mismatch between <code>~/.hermes/plugins/</code> and bundled provider paths</li> <li><a href="https://github.com/NousResearch/hermes-agent/issues/34271">NousResearch/hermes-agent #34271</a> — Proposal to add Mnemosyne to official memory provider documentation</li> </ul> <hr> <h2>Additional Notes</h2> <ul> <li>The <code>mnemosyne.db</code> being auto-created suggests Hermes's memory pipeline is partially initializing Mnemosyne but failing before plugin registration completes</li> <li>The discovery mismatch documented in hermes-agent #9099 appears to be the likely root cause — <code>discover_memory_providers()</code> does not scan <code>hermes_agent.plugins</code> entry points consistently with how bundled providers are loaded</li> <li>Installing <code>mnemosyne-hermes</code> from source into the Hermes venv (Python 3.11) with the git clone renamed to avoid path shadowing is currently the closest working state, but plugin discovery still fails at the Hermes level</li> </ul> <hr> <h2>Suggested Fix</h2> <ol> <li>Ensure <code>discover_memory_providers()</code> in Hermes scans <code>hermes_agent.plugins</code> entry points in addition to bundled provider paths</li> <li>Ensure PyPI serves <code>mnemosyne-hermes==0.1.1</code> to Python 3.11 environments (currently only 0.1.0 resolves)</li> <li>Document the correct manual installation path for third-party memory providers clearly and consistently</li> </ol></body></html><!--EndFragment--> </body> </html># Bug Report: mnemosyne-hermes Plugin Not Discovered by Hermes Agent

Repository: https://github.com/AxDSan/mnemosyne
Component: integrations/hermes
Date: 2026-06-05
Severity: High — renders the Hermes integration non-functional


Environment

ItemDetail
OSUbuntu 24.04 LTS
Python (system)3.12
Python (Hermes venv)3.11
Hermes Agent versionv0.14.0 (2026.5.16)
mnemosyne-memory3.3.0
mnemosyne-hermes (PyPI)0.1.0
mnemosyne-hermes (source)0.1.1

Summary

After following the documented installation steps, hermes memory status consistently reports Plugin: NOT installed ✗ despite the plugin entry point being correctly registered, the package being importable from the Hermes venv, and Hermes partially recognizing Mnemosyne (auto-creating ~/.hermes/mnemosyne/data/mnemosyne.db).

The hermes mnemosyne CLI subcommand is also not registered, confirming the plugin is not fully surfaced.


Steps to Reproduce

Attempt 1 — PyPI install into Hermes venv

~/.hermes/hermes-agent/venv/bin/pip install mnemosyne-hermes
hermes config set memory.provider mnemosyne
hermes memory status

Result: Plugin: NOT installed ✗

Root cause found: PyPI serves mnemosyne-hermes==0.1.0 to the Hermes venv (Python 3.11), which is incompatible with mnemosyne-memory==3.3.0:

ModuleNotFoundError: No module named 'mnemosyne.core'

Note: mnemosyne-hermes==0.1.1 is available on PyPI but was not served to the Python 3.11 venv — only 0.1.0 was resolved.

Attempt 2 — Source install into Hermes venv

~/.hermes/hermes-agent/venv/bin/pip install -e "/path/to/mnemosyne/integrations/hermes"
~/.hermes/hermes-agent/venv/bin/python -c "import mnemosyne_hermes; print('found')"

Import result: ModuleNotFoundError: No module named 'mnemosyne.core'

Root cause found: The ~/mnemosyne git clone directory shadows the installed mnemosyne-memory package because Python resolves ~/mnemosyne/__init__.py before the venv's site-packages.

Attempt 3 — Source install after renaming git clone

mv ~/mnemosyne ~/mnemosyne-src
~/.hermes/hermes-agent/venv/bin/pip install -e "/path/to/mnemosyne-src/integrations/hermes"
~/.hermes/hermes-agent/venv/bin/python -c "import mnemosyne_hermes; print('found')"

Import result: found

Entry point verification:

import importlib.metadata
eps = importlib.metadata.entry_points()
# Returns:
# hermes_agent.plugins [EntryPoint(name='mnemosyne', value='mnemosyne_hermes:register', group='hermes_agent.plugins')]

Entry point correctly registered

hermes memory status result: Plugin: NOT installed ✗

Attempt 4 — Manual plugin.yaml placement (various paths)

Tried the following paths based on Hermes plugin documentation and community suggestions:

~/.hermes/plugins/mnemosyne.yaml
~/.hermes/plugins/memory/mnemosyne/plugin.yaml
~/.hermes/hermes-agent/plugins/memory/mnemosyne/plugin.yaml (symlink)

Result in all cases: Plugin: NOT installed ✗


Observed Behavior

Despite full install failure from Hermes's perspective, Hermes partially recognizes Mnemosyne:

  • Auto-creates ~/.hermes/mnemosyne/data/mnemosyne.db on startup
  • hermes memory status shows Provider: mnemosyne (correctly reads config)
  • Entry point hermes_agent.plugins is correctly registered and discoverable via importlib.metadata
  • Package is importable from Hermes venv after path shadowing is resolved

The hermes mnemosyne CLI subcommand is not registered, confirming the plugin is not fully surfaced despite the above.


Expected Behavior

Memory status
────────────────────────────────────────
  Built-in:  always active
  Provider:  mnemosyne
  Plugin:    installed ✓

And hermes mnemosyne stats should return working/episodic memory counts.


Related Issues


Additional Notes

  • The mnemosyne.db being auto-created suggests Hermes's memory pipeline is partially initializing Mnemosyne but failing before plugin registration completes
  • The discovery mismatch documented in hermes-agent #9099 appears to be the likely root cause — discover_memory_providers() does not scan hermes_agent.plugins entry points consistently with how bundled providers are loaded
  • Installing mnemosyne-hermes from source into the Hermes venv (Python 3.11) with the git clone renamed to avoid path shadowing is currently the closest working state, but plugin discovery still fails at the Hermes level

Suggested Fix

  1. Ensure discover_memory_providers() in Hermes scans hermes_agent.plugins entry points in addition to bundled provider paths
  2. Ensure PyPI serves mnemosyne-hermes==0.1.1 to Python 3.11 environments (currently only 0.1.0 resolves)
  3. Document the correct manual installation path for third-party memory providers clearly and consistently

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING