diff --git a/hermes_cli/plugins_cmd.py b/hermes_cli/plugins_cmd.py index 6fa3c59c7a3..1e1c3282bee 100644 --- a/hermes_cli/plugins_cmd.py +++ b/hermes_cli/plugins_cmd.py @@ -762,11 +762,12 @@ def _discover_all_plugins() -> list: except Exception: pass key = f"{prefix}/{d.name}" if prefix else manifest_name - if key in seen and source == "bundled": - continue src_label = source if source == "user" and (d / ".git").exists(): src_label = "git" + # Bundled is scanned before user, so the user pass overwrites + # bundled entries with the same key — matches + # PluginManager.discover_and_load's "user wins" semantics. seen[key] = (key, version, description, src_label, d) continue