# Connect Your Hermes Agent Directly to Entire

> Source: <https://entire.com/blog/connect-your-hermes-agent-directly-to-entire>
> Published: 2026-11-05 18:22:05.238004+00:00

# Connect Your Hermes Agent Directly to Entire

One of the newest agents to take the developer world by storm is [Hermes](https://hermes-agent.nousresearch.com/): a memory integration agent that connects your workflows across platforms, allowing you to delegate tasks and learn from project to project. Hermes agent was developed by Nous Research, an open source applied AI research company.

Part of the appeal of Hermes is its inspiration: The Greek messenger god, delivering news from realm to realm. With that in mind, Hermes agent is compatible with lots of different apps, connecting your agent sessions across the semantic and code layers. So I figured it wouldn’t be difficult to connect your Hermes sessions to Entire. And it wasn’t!

Together, Entire and Hermes give you double memory: Entire attaches your Hermes sessions to your code so that your changes are a living archive of your decision making. If you’ve started using Hermes and want to try integrating with Entire yourself, just follow these simple steps to take tasks from Hermes agents into the Entire multiverse with your team:

## Ready Your Demo Environment

You’ll need Hermes and the Entire CLI installed, as well as Go 1.26 or newer to build the adapter. If you haven’t configured Hermes yet, start with the [Hermes quickstart](https://hermes-agent.nousresearch.com/docs/getting-started/quickstart) (or tell your agent to install Hermes).

I used a dedicated Hermes profile for the demo to keep its configuration and sessions separate from my usual agent.

In your terminal, run:

```
$export HERMES_HOME="$HOME/.hermes-entire-demo"
hermes setup
```

Complete the model provider setup for this profile. Note that configuring your usual Hermes profile doesn’t automatically configure this one.

`HERMES_HOME` tells Hermes which profile directory to use. The Entire adapter explicitly requires it, so keep that variable set for the remaining commands. You can read more about profile isolation in the [Hermes profiles docs](https://hermes-agent.nousresearch.com/docs/user-guide/profiles).

## Build and Install the Adapter

The Hermes integration is currently a preview external agent adapter. Build it from the Entire external agents repo:

```
$mkdir -p "$HOME/hermes-entire-demo"
cd "$HOME/hermes-entire-demo"

git clone https://github.com/entireio/external-agents.git
cd external-agents/agents/entire-agent-hermes

go build -o entire-agent-hermes ./cmd/entire-agent-hermes
```

That last command produces the `entire-agent-hermes` executable. Be sure to install it somewhere your terminal can find:

```
$mkdir -p "$HOME/.local/bin"
install -m 755 entire-agent-hermes \
  "$HOME/.local/bin/entire-agent-hermes"

export PATH="$HOME/.local/bin:$PATH"
```

`install -m 755` copies the adapter and gives it executable permissions. Entire can discover it by name if you add its directory to `PATH`.

Check that both commands resolve:

```
$command -v entire
command -v entire-agent-hermes
```

The `export` applies to this terminal session. A background Hermes gateway needs its own environment to include the adapter’s directory.

## Enable Hermes in a Fresh Repository

Make a separate repository for the demo:

```
$mkdir -p "$HOME/hermes-entire-demo/demo"
cd "$HOME/hermes-entire-demo/demo"

git init
git commit --allow-empty -m "Initialize Hermes demo"
```

The initial commit gives the demo a starting point before Hermes makes a change.

Configure Entire with:

```
$mkdir -p .entire
printf '{"external_agents":true}\n' > .entire/settings.json

entire enable --agent hermes --telemetry=false
```

Here’s what those commands do.

`mkdir -p .entire` creates the directory for the repository’s Entire configuration and the `-p` flag makes it safe to run when the directory already exists.

`printf` writes the setting that enables external agent discovery. Again, this example assumes a fresh repository. If you already have `.entire/settings.json`, add `"external_agents": true` to the existing JSON instead of replacing the file.

registers this repository with the Hermes integration. The telemetry flag disables telemetry for this setup.

If you see `Unknown agent "hermes"`, check adapter discovery before continuing:

```
$command -v entire-agent-hermes
cat .entire/settings.json
echo "$HERMES_HOME"
entire version
```

You should have an executable adapter on `PATH`, external agents enabled, an explicit profile directory, and an Entire CLI version that supports the integration.

If a Hermes gateway is already running for this profile, restart it after enabling the integration:

```
$hermes gateway restart
```

The running gateway needs to reload its plugins. Here, I’m using an interactive terminal session.

## Have Hermes Make a Change

First, print the absolute path of the file you want Hermes to create:

```
$printf '%s/video_greeting.py\n' "$PWD"
```

Copy that path and then launch Hermes:

```
$hermes
```

Pass it this prompt, replacing the example path with the one you just copied:

```
Use your file tools to create
/absolute/path/to/demo/video_greeting.py.

The script should print these two lines:
Hello from Hermes!
This change has context.

Do not commit the change.
```

The absolute path does matter for capture because the observer uses file paths supplied to tools to associate activity with a registered repository. Running Hermes from the repository directory alone isn’t sufficient for every tool call.

Once Hermes finishes, exit and run:

```
$python3 video_greeting.py
```

You should see:

```
Hello from Hermes!
This change has context.
```

## Check Capture Before Committing

Before making the commit, inspect the pending capture:

```
$entire checkpoint list --pending
```

This is the check I want before proceeding: did Entire capture the agent’s work?

A pending capture doesn’t yet have a committed checkpoint ID. If you only look at the regular checkpoint list before committing, you can mistake an empty list for a broken integration.

If nothing appears under `--pending`, pause here. Confirm that Hermes used the same `HERMES_HOME` you configured, that you enabled Entire in this repository before starting the session, and that the file tool targeted an absolute path inside it.

## Commit and Inspect the Checkpoint

I usually have my agent handle this part (telling it to `git add` and `git commit`) but if you want to go old-school:

```
$git add video_greeting.py
git commit -m "Add video greeting with Hermes"
```

Inspect the commit message:

```
$git log -1 --format=%B
```

In my demo, it included this trailer:

```
Entire-Checkpoint: e9b55b45a8f5
```

Your checkpoint ID will be different: that trailer connects the commit to its captured agent context.

Now inspect it with (or you could tell your agent to inspect it):

```
$entire checkpoint list
entire checkpoint explain --commit HEAD
```

To generate an AI summary, run:

```
$entire checkpoint explain --commit HEAD --generate
```

Summary generation uses Entire’s configured summary provider, so authenticate that provider first. It spends model tokens and saves the generated summary to the checkpoint.

That’s a separate step from capturing the session. A summary provider login prompt doesn’t mean the checkpoint is missing.

## What the Preview Captures

The adapter captures a sanitized prompt and final response, tool names and coarse statuses, and modified file paths. It excludes Hermes memory, earlier conversation history, tool arguments, and raw tool results.

That scope matters when you inspect a checkpoint as you’re viewing the repository context retained by this integration.

For implementation details and updates as the preview evolves, see the [full Hermes and Entire setup guide](https://github.com/entireio/external-agents/tree/main/agents/entire-agent-hermes). And if you liked using Entire and Hermes together, join our [Discord](https://discord.gg/jZJs3Tue4S) to let us know!
