{"record":{"id":"a253d27d5e32584b","repo":"NousResearch/hermes-agent","slug":"plugin-policy-plugin-id-r-cannot-override-the-pr","errorCode":null,"errorMessage":"Plugin {policy.plugin_id!r} cannot override the provider (set plugins.entries.{policy.plugin_id}.llm.allow_provider_override to true to allow).","messagePattern":"Plugin (.+?) cannot override the provider \\(set plugins\\.entries\\.(.+?)\\.llm\\.allow_provider_override to true to allow\\)\\.","errorType":"validation","errorClass":"PluginLlmTrustError","httpStatus":null,"severity":"error","filePath":"agent/plugin_llm.py","lineNumber":290,"sourceCode":"    requested_model: Optional[str],\n    requested_agent_id: Optional[str],\n    requested_profile: Optional[str],\n) -> tuple[Optional[str], Optional[str], Optional[str], Optional[str]]:\n    \"\"\"Apply the trust gate. Returns the validated overrides as\n    ``(provider, model, agent_id, profile)`` or raises\n    :class:`PluginLlmTrustError`.\n\n    Each override (``provider``, ``model``, ``agent_id``, ``profile``)\n    is independently gated. ``provider`` and ``model`` each have an\n    optional allowlist via ``allowed_providers`` / ``allowed_models``.\n    \"\"\"\n    final_provider: Optional[str] = None\n    final_model: Optional[str] = None\n    final_profile: Optional[str] = None\n\n    if requested_provider:\n        if not policy.allow_provider_override:\n            raise PluginLlmTrustError(\n                f\"Plugin {policy.plugin_id!r} cannot override the provider \"\n                f\"(set plugins.entries.{policy.plugin_id}.llm.allow_provider_override \"\n                f\"to true to allow).\"\n            )\n        normalized = _normalize_ref(requested_provider)\n        if (\n            not policy.allow_any_provider\n            and policy.allowed_providers is not None\n            and normalized not in policy.allowed_providers\n        ):\n            raise PluginLlmTrustError(\n                f\"Plugin {policy.plugin_id!r} provider override \"\n                f\"{requested_provider!r} is not in plugins.entries.\"\n                f\"{policy.plugin_id}.llm.allowed_providers.\"\n            )\n        final_provider = requested_provider.strip()\n\n    if requested_model:","sourceCodeStart":272,"sourceCodeEnd":308,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/agent/plugin_llm.py#L272-L308","documentation":"Error \"Plugin {policy.plugin_id!r} cannot override the provider (set plugins.entries.{policy.plugin_id}.llm.allow_provider_override to true to allow).\" thrown in NousResearch/hermes-agent.","triggerScenarios":"Thrown at agent/plugin_llm.py:290 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set plugins.entries.<plugin>.llm.allow_provider_override to true in config.yaml to permit the override.","Remove the provider override from the plugin's completion request."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c896c09c42910c584c4c7d2325b58c14713ea42c","analyzedAt":"2026-08-14T17:18:01.089Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}