Summary
On Windows, after running hermes update, Hermes remained on v0.15.1 and continued reporting:
Update available: 7 commits behind — run 'hermes update'
However, the official latest release appears to be v0.15.2 (2026.5.29.2), available via tag v2026.5.29.2. The current main branch was up to date but still had pyproject.toml version 0.15.1.
This made the updater behavior confusing: main appeared current, but the official release version was newer.
Environment
- OS: Windows 11
- Shell: PowerShell
- Hermes project path:
C:\Users\Srika\AppData\Local\hermes\hermes-agent
- Python: 3.11.15
- Node.js: v24.15.0
Initial state after hermes update
Output:
Hermes Agent v0.15.1 (2026.5.29)
Project: C:\Users\Srika\AppData\Local\hermes\hermes-agent
Python: 3.11.15
OpenAI SDK: 2.24.0
Update available: 7 commits behind — run 'hermes update'
hermes doctor showed Python environment/version files were consistent at 0.15.1, and the gateway was healthy.
Git state before manual tag switch
cd "$env:LOCALAPPDATA\hermes\hermes-agent"
git status
git log --oneline -5
git log --oneline HEAD..origin/main
Output:
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
04d620d91 (HEAD -> main, origin/main, origin/HEAD) fix(docker): run config migrations during container boot (salvage #35508) (#36627)
92be98929 Merge pull request #38564 from NousResearch/bb/tui-sgr-mouse-fragment-leak
343c54e35 fix(docker): reject unsupported --user <arbitrary-uid> start with clear guidance (#38579)
b0a52d74a fix(mcp): resolve ${ENV} in discovery probe so header auth works (#38571)
5a22cd427 fix(desktop): configure local/custom endpoint without an API key or UI changes
git log --oneline HEAD..origin/main returned no commits, confirming local main was current.
But main still showed:
Select-String -Path .\pyproject.toml -Pattern 'version'
Output:
pyproject.toml:10:version = "0.15.1"
Release tag check
git fetch --tags origin
git tag --sort=-creatordate | Select-Object -First 20
Output included:
v2026.5.29.2
v2026.5.29
v2026.5.28
...
Checking the release tag:
git show v2026.5.29.2:pyproject.toml | Select-String -Pattern 'version'
Output:
So the latest release tag had 0.15.2, but current main had 0.15.1.
Workaround used
Stopped the gateway, switched to the release tag, and reinstalled editable package:
hermes gateway stop
cd "$env:LOCALAPPDATA\hermes\hermes-agent"
git switch --detach v2026.5.29.2
.\venv\Scripts\python.exe -m pip install -e .
After that:
Output:
Hermes Agent v0.15.2 (2026.5.29.2)
Project: C:\Users\Srika\AppData\Local\hermes\hermes-agent
Python: 3.11.15
OpenAI SDK: 2.24.0
Update available: 7 commits behind — run 'hermes update'
Gateway then started successfully:
hermes gateway start
hermes gateway status
Output:
✓ Gateway started via Scheduled Task 'Hermes_Gateway' (PID: 10988)
✓ Scheduled Task registered: Hermes_Gateway
Status: Ready
Last Run Time: 04-06-2026 07:00:20
Last Run Result: 0
✓ Gateway process running (PID: 10988)
Expected behavior
If v0.15.2 / v2026.5.29.2 is the official latest release, hermes update should either:
- Install/switch to the latest release tag, or
- Clearly explain that it tracks
main, not the latest release tag, or
- Avoid reporting the user is behind if
main is current but a release tag has a higher package version.
Actual behavior
hermes update left the install on 0.15.1.
main was current and clean.
- Official release tag
v2026.5.29.2 had pyproject.toml version 0.15.2.
- After manually switching to the tag and reinstalling,
hermes --version correctly showed v0.15.2, but still reported Update available: 7 commits behind because the detached release tag is behind main.
Why this matters
This is confusing for users because the CLI says to run hermes update, but following main may keep the package at 0.15.1 while the GitHub release is 0.15.2. It is not obvious whether users should track main or the latest release tag.
Summary
On Windows, after running
hermes update, Hermes remained onv0.15.1and continued reporting:However, the official latest release appears to be
v0.15.2 (2026.5.29.2), available via tagv2026.5.29.2. The currentmainbranch was up to date but still hadpyproject.tomlversion0.15.1.This made the updater behavior confusing:
mainappeared current, but the official release version was newer.Environment
C:\Users\Srika\AppData\Local\hermes\hermes-agentInitial state after
hermes updatehermes --versionOutput:
hermes doctorshowed Python environment/version files were consistent at0.15.1, and the gateway was healthy.Git state before manual tag switch
Output:
git log --oneline HEAD..origin/mainreturned no commits, confirming localmainwas current.But
mainstill showed:Output:
Release tag check
Output included:
Checking the release tag:
Output:
So the latest release tag had
0.15.2, but currentmainhad0.15.1.Workaround used
Stopped the gateway, switched to the release tag, and reinstalled editable package:
After that:
hermes --versionOutput:
Gateway then started successfully:
Output:
Expected behavior
If
v0.15.2/v2026.5.29.2is the official latest release,hermes updateshould either:main, not the latest release tag, ormainis current but a release tag has a higher package version.Actual behavior
hermes updateleft the install on0.15.1.mainwas current and clean.v2026.5.29.2hadpyproject.tomlversion0.15.2.hermes --versioncorrectly showedv0.15.2, but still reportedUpdate available: 7 commits behindbecause the detached release tag is behindmain.Why this matters
This is confusing for users because the CLI says to run
hermes update, but followingmainmay keep the package at0.15.1while the GitHub release is0.15.2. It is not obvious whether users should trackmainor the latest release tag.