NousResearch/hermes-agent · error · RuntimeError

confirmed model lock runtime mismatch: expected provider={ex

Error message

confirmed model lock runtime mismatch: expected provider={expected_provider} model={expected_model}; actual provider={actual_provider} model={actual_model}

What it means

Error "confirmed model lock runtime mismatch: expected provider={expected_provider} model={expected_model}; actual provider={actual_provider} model={actual_model}" thrown in NousResearch/hermes-agent.

Source

Thrown at gateway/platforms/api_server.py:6373

                            runtime["model"] = actual_model
                        else:
                            runtime.setdefault("model", "")
                        if confirmed_runtime_lock:
                            expected_provider = self._clean_runtime_id(
                                (route or {}).get("provider")
                                or (requested_runtime or {}).get("provider"),
                                max_len=80,
                            )
                            expected_model = self._clean_runtime_id(
                                (route or {}).get("model")
                                or (requested_runtime or {}).get("model")
                            )
                            mismatched = (
                                (expected_provider and actual_provider != expected_provider)
                                or (expected_model and actual_model != expected_model)
                            )
                            if mismatched:
                                raise RuntimeError(
                                    "confirmed model lock runtime mismatch: "
                                    f"expected provider={expected_provider or '<unspecified>'} "
                                    f"model={expected_model or '<unspecified>'}; "
                                    f"actual provider={actual_provider or '<unknown>'} "
                                    f"model={actual_model or '<unknown>'}"
                                )
                        if requested_runtime:
                            runtime["requested"] = {
                                "provider": self._clean_runtime_id((requested_runtime or {}).get("provider"), max_len=80),
                                "model": self._clean_runtime_id((requested_runtime or {}).get("model")),
                            }
                        runtime["route_source"] = route_source or runtime.get("route_source") or "global"
                        runtime = self._sanitize_runtime_metadata(
                            runtime=runtime,
                            requested_runtime=requested_runtime,
                            route_source=route_source or "global",
                            model_lock=("confirmed" if confirmed_runtime_lock else ""),
                        )

View on GitHub (pinned to c896c09c42)

Solutions

  1. Restart the session so the confirmed model lock matches the runtime, or switch the runtime back to the locked provider/model.
  2. Re-issue the request against the confirmed provider/model.

When it happens

Trigger: Thrown at gateway/platforms/api_server.py:6373 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/82f9310f289a99b6. Report an issue: GitHub.