BerriAI/litellm · error · GuardrailRaisedException
Vigil Guard returned an unrecognized decision.
Error message
Vigil Guard returned an unrecognized decision.
What it means
Error "Vigil Guard returned an unrecognized decision." thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/guardrails/guardrail_hooks/vigil_guard/vigil_guard.py:180
result_texts + list(texts[index:]),
inputs.get("tool_calls"),
)
decision = analysis.get("decision") if isinstance(analysis, dict) else None
if decision not in _VALID_DECISIONS:
verbose_proxy_logger.error(
"Vigil Guard unrecognized decision for guardrail_name=%s source=%s: %r",
self.guardrail_name,
source,
decision,
)
if self.unreachable_fallback == "fail_open":
return self._build_output(
inputs,
result_texts + list(texts[index:]),
inputs.get("tool_calls"),
)
raise GuardrailRaisedException(
guardrail_name=self.guardrail_name,
message="Vigil Guard returned an unrecognized decision.",
should_wrap_with_default_message=False,
)
if decision == "BLOCKED":
raise GuardrailRaisedException(
guardrail_name=self.guardrail_name,
message=self._build_block_reason(analysis),
should_wrap_with_default_message=False,
)
if decision == "SANITIZED":
result_texts.append(self._resolve_sanitized_text(text, analysis))
else:
result_texts.append(text)
result_tool_calls = inputs.get("tool_calls")View on GitHub (pinned to 77b7c6c40c)
Solutions
- Check the Vigil Guard backend response; it returned a decision outside the expected set.
- Verify the proxy and Vigil Guard backend versions are compatible.
When it happens
Trigger: Thrown at litellm/proxy/guardrails/guardrail_hooks/vigil_guard/vigil_guard.py:180 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/b61ecb8d8cdd5f89.
Report an issue: GitHub.