NousResearch/hermes-agent · error · PluginLlmTrustError

Plugin {policy.plugin_id!r} cannot override the auth profile

Error message

Plugin {policy.plugin_id!r} cannot override the auth profile (set plugins.entries.{policy.plugin_id}.llm.allow_profile_override to true to allow).

What it means

Error "Plugin {policy.plugin_id!r} cannot override the auth profile (set plugins.entries.{policy.plugin_id}.llm.allow_profile_override to true to allow)." thrown in NousResearch/hermes-agent.

Source

Thrown at agent/plugin_llm.py:337

            and normalized not in policy.allowed_models
        ):
            raise PluginLlmTrustError(
                f"Plugin {policy.plugin_id!r} model override "
                f"{requested_model!r} is not in plugins.entries."
                f"{policy.plugin_id}.llm.allowed_models."
            )
        final_model = requested_model.strip()

    if requested_agent_id and not policy.allow_agent_id_override:
        raise PluginLlmTrustError(
            f"Plugin {policy.plugin_id!r} cannot run completions against a "
            f"non-default agent id (set plugins.entries.{policy.plugin_id}."
            f"llm.allow_agent_id_override to true to allow)."
        )

    if requested_profile:
        if not policy.allow_profile_override:
            raise PluginLlmTrustError(
                f"Plugin {policy.plugin_id!r} cannot override the auth profile "
                f"(set plugins.entries.{policy.plugin_id}.llm.allow_profile_override "
                f"to true to allow)."
            )
        final_profile = requested_profile.strip()

    return final_provider, final_model, requested_agent_id, final_profile


def _resolve_task_ownership(plugin_id: str) -> tuple[frozenset, frozenset]:
    """Return ``(owned_keys, builtin_keys)`` for the task trust gate.

    ``owned_keys`` are auxiliary-task keys ``plugin_id`` registered itself
    via ``ctx.register_auxiliary_task``; ``builtin_keys`` are the host's
    reserved auxiliary tasks. Both imports are lazy so plugin discovery
    doesn't hit a circular import at module load. A registry that can't be
    read yields empty sets, which fails the gate closed (unknown → rejected).

View on GitHub (pinned to c896c09c42)

Solutions

  1. Set plugins.entries.<plugin>.llm.allow_profile_override to true to permit the profile override.
  2. Use the default auth profile for the plugin's completions.

When it happens

Trigger: Thrown at agent/plugin_llm.py:337 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14). Data as JSON: /api/errors/3a2dab2138b9e39d. Report an issue: GitHub.