NousResearch/hermes-agent · error · ValueError
Plugin LLM structured output did not match schema: {exc.mess
Error message
Plugin LLM structured output did not match schema: {exc.message} What it means
Error "Plugin LLM structured output did not match schema: {exc.message}" thrown in NousResearch/hermes-agent.
Source
Thrown at agent/plugin_llm.py:591
if not (json_mode or json_schema is not None):
return None, "text"
if not text:
return None, "text"
try:
parsed = json.loads(_strip_code_fences(text))
except (json.JSONDecodeError, ValueError):
return None, "text"
if json_schema is not None:
try:
import jsonschema # type: ignore[import-untyped]
jsonschema.validate(parsed, json_schema)
except ImportError:
# jsonschema is optional; skip strict validation when absent.
logger.debug("jsonschema unavailable; skipping schema validation")
except jsonschema.ValidationError as exc: # type: ignore[attr-defined]
raise ValueError(
f"Plugin LLM structured output did not match schema: {exc.message}"
) from exc
return parsed, "json"
# ---------------------------------------------------------------------------
# Usage extraction
# ---------------------------------------------------------------------------
def _extract_usage(response: Any) -> PluginLlmUsage:
"""Pull token usage out of an OpenAI-shaped response object.
Tolerant of provider differences — Anthropic via the auxiliary
adapter exposes ``usage.prompt_tokens`` / ``usage.completion_tokens``;
direct OpenAI also exposes ``cache_read_input_tokens``."""
usage = PluginLlmUsage()View on GitHub (pinned to c896c09c42)
Solutions
- Adjust the plugin's schema or prompt so the model output validates.
- Review the schema validation error and fix the field mismatch.
- Retry; structured output can fail intermittently on borderline prompts.
When it happens
Trigger: Thrown at agent/plugin_llm.py:591 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/6a859cb02fe4c6d5.
Report an issue: GitHub.