Skip to content

model-providers: duplicate name/alias registration is silent (no warning or doctor output) #30921

@WadydX

Description

@WadydX

Summary

register_provider() in providers/__init__.py unconditionally overwrites entries in _REGISTRY and _ALIASES with no check for existing names or aliases and no logging or warning. This makes duplicate registrations (common when users add custom model-provider plugins) completely silent.

Reproduction

  1. Create two model-provider plugins that register the same name or overlapping aliases.
  2. Run any command that triggers discovery (hermes model, hermes doctor, agent startup).
  3. No output, no warning, and the last registration silently wins.

Expected behavior

Duplicate registration should produce a clear warning (or error) at registration time, and hermes doctor should surface active overrides.

Actual behavior

Silent overwrite. Users have no visibility into which profile is active when names collide.

Environment

  • Hermes Agent (current main)
  • macOS / Linux
  • Any install method
  • Affects anyone using or developing custom model-provider plugins

Evidence

  • providers/__init__.py:53-62register_provider() has no existence check or logging.
  • plugins/model-providers/README.md and website/docs/developer-guide/model-provider-plugin.md document last-writer-wins but mention no conflict handling.
  • No prior issue found for this specific gap.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havearea/configConfig system, migrations, profilescomp/pluginsPlugin system and bundled pluginstype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions