What did your Hermes agent install last week? Now you can check.
Your Hermes AI agent installs packages, pulls containers and clones repos on your behalf, and keeps no record. Swytchcode's free Agent Install Monitor keeps one, privately, on your own machine.
Your Hermes AI agent installs things. A browser library to scrape one site, a mail client to send one email, a dozen npm packages and a dev server to try one framework. Each step makes sense at the time.
A few weeks later you find software you don't remember installing. Why is Playwright here? Where did this Docker image come from? Which repository did the agent clone, and into which folder? Your agent knew at the time. It just didn't keep a record.
At Swytchcode we spend a lot of time watching what agents do on real computers, so we built that record: Agent Install Monitor, a free, open-source Hermes plugin that keeps a private history of everything your agent installs, on your own machine.
Agent Install Monitor
Agent Install Monitor is a free plugin for Hermes. It watches the commands your agent runs in the terminal and keeps a local history of everything it installs.
You use Hermes as usual. Afterwards, in a normal terminal:
$ agent-monitor history
Session sess-8f3a21 [hermes]
Packages
1. pip playwright
2. pip openai
Time: 2m 13s Commands: 2That's the latest session. You can also list every session, open any one of them, or export the whole history:
agent-monitor sessions # every session, with dates and counts
agent-monitor session <id> # one session
agent-monitor export --format csv # everything, as JSON or CSVEach entry says what was installed, with which tool, in which folder, and whether the command worked.
What it notices
- Packages: npm, pnpm, yarn, pip, uv, poetry, cargo, go, Homebrew, apt, dnf, apk, gem, composer, dotnet, NuGet, Chocolatey, winget and Scoop
- Containers: Docker and Podman pulls and runs, and
docker compose up - Repositories:
git cloneand submodules - Tools run without installing:
npx,uvx,cargo run,go run - Services:
systemctl start,brew services start,service start - Databases: new databases created with
createdborCREATE DATABASE - Installer downloads:
curlorwgetfetching a.sh,.exe,.pkg,.dmg,.deb,.rpm,.AppImageor.msi
It handles commands chained with && or ; as separate steps, sees through sudo, env and settings in front of a command (sudo apt install ..., NPM_TOKEN=... npm install ...), and treats curl ... | bash as one install, which is what it is.
What it doesn't do
It's a record, not a guard. It doesn't block commands, ask for permission, uninstall anything or roll changes back. Your agent works exactly as before.
It also works from the command text. If the agent installs something in a way it doesn't recognise, such as a custom script, it won't show up. Treat it as a good history, not as a security boundary.
We kept it this way on purpose. A tool that only watches can't break your agent. The plugin is built so that if anything goes wrong while recording, the agent's command still runs as normal.
Local only
The history is a small SQLite database in your Hermes folder (~/.hermes/agent-monitor/monitor.db). Nothing is sent anywhere, there's no account and no telemetry. On macOS and Linux only your own account can open it. Agents sometimes put a token straight into a command, like an install URL with a password in it, so the plugin replaces those with *** before saving anything. The plugin has no dependencies beyond Python's standard library, and it's open source under the MIT license.
Install
On macOS, Linux or WSL:
curl -fsSL https://raw.githubusercontent.com/swytchcodehq/agent-install-monitor/main/install.py | python3On Windows (PowerShell):
irm https://raw.githubusercontent.com/swytchcodehq/agent-install-monitor/main/install.py | python -The installer finds the Python that Hermes runs in, installs the plugin there from PyPI (or from GitHub if PyPI isn't available), turns it on, and offers to put agent-monitor on your path. It's safe to run twice. If you'd rather not pipe a script into your shell, the README has the manual steps. It's a short script, so read it first either way.
Why we built it
Agents are getting good at doing things. They're still bad at telling you, a week later, what they did.
An install history is the simplest piece of that. It answers "where did this come from?" in seconds, helps you clean up after an experiment, and shows you what an agent actually needed for a task.
It's one of a few small, free tools from Swytchcode for keeping an eye on your agent. Another, API Key Leak Check, checks whether your agent is leaking your API keys. Swytchcode itself goes a step further: it holds your app keys so your agent never has them, and asks you before anything risky.
If it missed something your agent installed, or you'd like it for another agent, open an issue.
More from the blog
We asked our Hermes agent if it was leaking API keys. It printed one into the chat.
Your Hermes agent keeps API keys in more places than you think, and some go to your AI provider with every message. Swytchcode's free API Key Leak Check finds them in seconds and explains the fix in plain words.
We connected Instinct to a flight API through Swytchcode. Here's how it went
Instinct has no way to plug in custom APIs, so we tried connecting it to Duffel's flight API through a Google Sheet, with Swytchcode holding the keys and the rules. How it works, and an honest look at how Swytchcode did.
