Adds a concise post-update validation checklist (git status, hermes doctor, version check, gateway status). Adapted from PR #3050 with corrections — removed inaccurate submodule claim (hermes update already handles submodules) and tightened the checklist. Cherry-picked and adapted from PR #3050.
5.1 KiB
sidebar_position, title, description
| sidebar_position | title | description |
|---|---|---|
| 3 | Updating & Uninstalling | How to update Hermes Agent to the latest version or uninstall it |
Updating & Uninstalling
Updating
Update to the latest version with a single command:
hermes update
This pulls the latest code, updates dependencies, and prompts you to configure any new options that were added since your last update.
:::tip
hermes update automatically detects new configuration options and prompts you to add them. If you skipped that prompt, you can manually run hermes config check to see missing options, then hermes config migrate to interactively add them.
:::
What happens during an update
When you run hermes update, the following steps occur:
- Git pull — pulls the latest code from the
mainbranch and updates submodules - Dependency install — runs
uv pip install -e ".[all]"to pick up new or changed dependencies - Config migration — detects new config options added since your version and prompts you to set them
- Gateway auto-restart — if the gateway service is running (systemd on Linux, launchd on macOS), it is automatically restarted after the update completes so the new code takes effect immediately
Expected output looks like:
$ hermes update
Updating Hermes Agent...
📥 Pulling latest code...
Already up to date. (or: Updating abc1234..def5678)
📦 Updating dependencies...
✅ Dependencies updated
🔍 Checking for new config options...
✅ Config is up to date (or: Found 2 new options — running migration...)
🔄 Restarting gateway service...
✅ Gateway restarted
✅ Hermes Agent updated successfully!
Recommended Post-Update Validation
hermes update handles the main update path, but a quick validation confirms everything landed cleanly:
git status --short— if the tree is unexpectedly dirty, inspect before continuinghermes doctor— checks config, dependencies, and service healthhermes --version— confirm the version bumped as expected- If you use the gateway:
hermes gateway status - If
doctorreports npm audit issues: runnpm audit fixin the flagged directory
:::warning Dirty working tree after update
If git status --short shows unexpected changes after hermes update, stop and inspect them before continuing. This usually means local modifications were reapplied on top of the updated code, or a dependency step refreshed lockfiles.
:::
Checking your current version
hermes version
Compare against the latest release at the GitHub releases page or check for available updates:
hermes update --check
Updating from Messaging Platforms
You can also update directly from Telegram, Discord, Slack, or WhatsApp by sending:
/update
This pulls the latest code, updates dependencies, and restarts the gateway. The bot will briefly go offline during the restart (typically 5–15 seconds) and then resume.
Manual Update
If you installed manually (not via the quick installer):
cd /path/to/hermes-agent
export VIRTUAL_ENV="$(pwd)/venv"
# Pull latest code and submodules
git pull origin main
git submodule update --init --recursive
# Reinstall (picks up new dependencies)
uv pip install -e ".[all]"
uv pip install -e "./tinker-atropos"
# Check for new config options
hermes config check
hermes config migrate # Interactively add any missing options
Rollback instructions
If an update introduces a problem, you can roll back to a previous version:
cd /path/to/hermes-agent
# List recent versions
git log --oneline -10
# Roll back to a specific commit
git checkout <commit-hash>
git submodule update --init --recursive
uv pip install -e ".[all]"
# Restart the gateway if running
hermes gateway restart
To roll back to a specific release tag:
git checkout v0.6.0
git submodule update --init --recursive
uv pip install -e ".[all]"
:::warning
Rolling back may cause config incompatibilities if new options were added. Run hermes config check after rolling back and remove any unrecognized options from config.yaml if you encounter errors.
:::
Note for Nix users
If you installed via Nix flake, updates are managed through the Nix package manager:
# Update the flake input
nix flake update hermes-agent
# Or rebuild with the latest
nix profile upgrade hermes-agent
Nix installations are immutable — rollback is handled by Nix's generation system:
nix profile rollback
See Nix Setup for more details.
Uninstalling
hermes uninstall
The uninstaller gives you the option to keep your configuration files (~/.hermes/) for a future reinstall.
Manual Uninstall
rm -f ~/.local/bin/hermes
rm -rf /path/to/hermes-agent
rm -rf ~/.hermes # Optional — keep if you plan to reinstall
:::info If you installed the gateway as a system service, stop and disable it first:
hermes gateway stop
# Linux: systemctl --user disable hermes-gateway
# macOS: launchctl remove ai.hermes.gateway
:::