Skip to content

fix(integrations): declare the Hermes plugin manifest as v1 so the installer accepts it - #1356

Merged
phernandez merged 3 commits into
mainfrom
docs/1339-hermes-install
Aug 28, 2026
Merged

fix(integrations): declare the Hermes plugin manifest as v1 so the installer accepts it#1356
phernandez merged 3 commits into
mainfrom
docs/1339-hermes-install

Conversation

@phernandez

Copy link
Copy Markdown
Member

Fixes #1339.

What I found upstream

  • Installer (hermes_cli/plugins_cmd.py): _SUPPORTED_MANIFEST_VERSION = 1, and it raises on anything higher — that's the error in the issue. This is still true on upstream main; the bump lives in the unmerged NousResearch/hermes-agent#85893, so hermes update cannot help (newest tag is v2026.8.27, same installer).
  • Runtime loader (hermes_cli/plugins.py, _parse_manifest_v2_fields): parses api_version, kind, python_dependencies, hooks for every manifest, "absent means v1 (supported forever)", and every problem is a warning, never a load failure — "v2 metadata is advisory and additive".
  • Dependencies: _print_python_dependencies — "Hermes never auto-installs plugin pip dependencies … we print the declared requirements with a copy-pasteable install hint". Our README implied the installer followed pip_dependencies; it doesn't, on any version.

So option 3 from the issue (ship as manifest_version: 1) is safe: nothing we rely on is gated on the declared version, and the installer accepts it.

Changes

  • integrations/hermes/plugin.yaml: manifest_version: 1, with a comment explaining why and when to raise it.
  • integrations/hermes/README.md: hermes plugins install is the install path again; the mcp package step is documented as always manual (with the pinned range from plugin.yaml); the "update Hermes to a release containing that fix" advice is gone.

just package-check-hermes: 269 passed.

@nellins — when you get a moment, hermes plugins install basicmachines-co/basic-memory/integrations/hermes from this branch should now go through on v0.20.5; a confirmation there would be great before the docs video.

🤖 Generated with Claude Code

https://claude.ai/code/session_017STCpbNsYjZgUdftxgEAZ4

…staller accepts it

`hermes plugins install` refuses the plugin on every released Hermes
Agent: the manifest declared `manifest_version: 2` and the installer
(`hermes_cli/plugins_cmd.py`, `_SUPPORTED_MANIFEST_VERSION = 1` — still
so on upstream main; the bump in NousResearch/hermes-agent#85893 is
unmerged) errors on anything higher, so its own "run hermes update"
advice leads nowhere.

The runtime loader is the other half of the story: it parses the v2
fields (api_version, kind, python_dependencies, hooks) for every
manifest and only warns about what it doesn't know, and "absent means
v1, supported forever". Declaring 1 therefore costs nothing at load
time and makes the documented install path work.

README: lead with the managed install again, and say plainly that
Hermes never installs a plugin's Python dependencies (it prints them),
so the `mcp` package step is always manual — the old text implied the
installer followed `pip_dependencies`, which it does not.

Fixes #1339

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017STCpbNsYjZgUdftxgEAZ4
Signed-off-by: phernandez <paul@basicmachines.co>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-28T22:27:34.476951Z 86c6403 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@phernandez

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 049ad4136f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread integrations/hermes/README.md
Comment thread integrations/hermes/README.md Outdated
… the supported release

Codex review: the root README still carried the "requires the unmerged
installer fix" guidance, and "any release" overstated what a v1 manifest
buys — older builds may lack subdirectory plugin sources and the slash
commands need Hermes >= v0.11.0. Point the root README at the plugin
README and scope the claim to v0.20.x (verified on v0.20.5).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017STCpbNsYjZgUdftxgEAZ4
Signed-off-by: phernandez <paul@basicmachines.co>
@phernandez

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7e5865f025

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread integrations/hermes/plugin.yaml
…d version

Codex review on #1356: the Hermes package validator parsed
manifest_version but never checked it, so a version bump or manifest
cleanup could restore `2` and reintroduce the installer rejection this
PR fixes. Fail package-check-hermes unless it is 1, until a Hermes
release ships installer support for a newer manifest.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017STCpbNsYjZgUdftxgEAZ4
Signed-off-by: phernandez <paul@basicmachines.co>
@phernandez

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: 86c640388e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@phernandez
phernandez merged commit 3fa74a3 into main Aug 28, 2026
22 checks passed
@phernandez
phernandez deleted the docs/1339-hermes-install branch August 28, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hermes plugin can't be installed via 'hermes plugins install' on any released Hermes (manifest_version 2 vs installer cap of 1)

1 participant