hermes - 💡(How to fix) Fix Multi-profile setup: plugins/ and auth.json not shared across HERMES_HOME profiles

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  • config.yaml with plugins.enabled: [hermes-claude-auth] silently does nothing — no error, no warning, the plugin just doesn't load

Fix Action

Fix / Workaround

Current Workaround

Code Example

mkdir -p ~/.hermes/profiles/myagent/plugins
ln -sf ~/.hermes/plugins/hermes-claude-auth ~/.hermes/profiles/myagent/plugins/hermes-claude-auth
ln -sf ~/.hermes/auth.json ~/.hermes/profiles/myagent/auth.json
RAW_BUFFERClick to expand / collapse

Problem

When using Hermes with multiple profiles (e.g. ~/.hermes/profiles/hephaestus/), the plugin loader resolves plugin directories relative to HERMES_HOME. This means:

  • Plugins installed in ~/.hermes/plugins/ are not visible to profile-specific gateways running with HERMES_HOME=~/.hermes/profiles/<name>/
  • config.yaml with plugins.enabled: [hermes-claude-auth] silently does nothing — no error, no warning, the plugin just doesn't load
  • Similarly, auth.json credentials (API keys, OAuth tokens) are profile-local and empty by default — fallback providers also fail

Reproduction

  1. Install a plugin globally (~/.hermes/plugins/hermes-claude-auth)
  2. Create a second profile: HERMES_HOME=~/.hermes/profiles/myagent/
  3. Set plugins.enabled: [hermes-claude-auth] in the profile's config.yaml
  4. Start gateway with the profile HERMES_HOME — plugin is silently not loaded, no warning emitted

Expected Behavior

One of:

  • A plugins.global_path config option pointing to shared plugin dirs, or
  • A fallback that checks ~/.hermes/plugins/ when a listed plugin is not found in the profile-local plugins/ dir, or
  • At minimum: a warning log when a plugin listed in plugins.enabled is not found on disk

Current Workaround

mkdir -p ~/.hermes/profiles/myagent/plugins
ln -sf ~/.hermes/plugins/hermes-claude-auth ~/.hermes/profiles/myagent/plugins/hermes-claude-auth
ln -sf ~/.hermes/auth.json ~/.hermes/profiles/myagent/auth.json

Environment

  • Hermes: latest main
  • OS: Linux (Oracle Cloud, aarch64)
  • Multi-profile setup with separate systemd services per profile

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING