Skip to main content
Give Hermes Agent persistent memory backed by your Cognee Cloud tenant with a drop-in memory provider plugin. Each completed turn is stored in Cognee’s session cache and promoted into the permanent knowledge graph at session end — no code required.

1. Install the plugin

Install the plugin from PyPI:
Once the plugin is accepted into the Hermes plugin catalog, you will also be able to install it with hermes plugins install cognee followed by hermes plugins enable cognee. The full integration guide covers both install paths and how each one updates.
Requires Python 3.10+. The plugin pins cognee==1.6.5 as a pip dependency.

2. Connect to Cognee Cloud

Hermes connects to Cloud in remote mode. At the Mode prompt of hermes memory setup, enter remote, then your tenant URL and API key. Setup defaults to local, and the mode it saves takes precedence over environment variables, so accepting the default keeps Hermes local even after you export the variables below. Alternatively, export them before running setup, so it offers remote as the default. There are no silent fallbacks — if the configured mode fails, the failure surfaces.
No LLM key is needed in remote mode — your tenant does the knowledge extraction server-side. Setup saves non-secret settings to $HERMES_HOME/cognee.json and secrets to $HERMES_HOME/.env through Hermes’ own writer; values in cognee.json beat environment variables, so re-run setup to change the mode or dataset.
The plugin reads COGNEE_API_KEY and COGNEE_BASE_URL through Hermes (the active profile’s secrets) and never opens a .env file itself, so a key kept only in ~/.cognee/.env or left behind by another Cognee plugin is not used. Run hermes memory setup or put the key in Hermes’ .env.

3. Run and verify

Run Hermes as usual — memory is captured and recalled automatically:
During a session, just talk to the agent:
The provider exposes six memory tools to the agent:
  • cognee_recall — search your tenant’s knowledge graph
  • cognee_remember — persist content into the knowledge graph
  • cognee_forget — delete memory, in two phases: the agent lists candidates first, then deletes only the ones you confirm
  • cognee_switch_dataset — move the conversation to another dataset on your tenant
  • cognee_code_search — query an indexed repository’s code graph
  • cognee_recap — a standup, digest or timeline of the sessions recorded into the active dataset on your tenant
At session end, if COGNEE_IMPROVE_ON_END=true (the default), cognee.improve(...) promotes the session cache into your permanent graph. The same improve also starts in the background before Hermes compresses a long conversation, so turns that get compressed away still reach your graph. Compression doesn’t wait for it. cognee_remember returns right away with status: "running", and your tenant finishes building the graph in the background. A slow LLM on the tenant side therefore no longer shows up as a timeout for a write that actually lands. The new content isn’t recallable until that build finishes, and a build that fails on the tenant no longer shows up as an error in the tool result.

Configuration

The default dataset is shared with Cognee’s other agent plugins (Claude Code, Codex, OpenClaw), so memory written in any of them is recalled in all of them. Set COGNEE_PLUGIN_DATASET to give Hermes a dataset of its own on your tenant.
Manage the plugin with hermes cognee status, hermes cognee setup, hermes cognee config, hermes cognee install, and hermes cognee version (plugin version and update availability). hermes cognee standup, digest and timeline <topic> print a recap of the sessions recorded on your tenant. hermes cognee index-repo <git-url> indexes a repository into a deterministic code graph on your tenant — pass a git URL, since a Cloud tenant cannot read a path on your machine.

Full integration guide

Tools, connection modes, and how it works

Hermes Agent

Learn about Hermes Agent