{"record":{"id":"8c8204824a0eae11","repo":"BerriAI/litellm","slug":"blocked-by-policy","errorCode":null,"errorMessage":"Blocked by policy","messagePattern":"Blocked by policy","errorType":"exception","errorClass":"GuardrailRaisedException","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/vigil_guard/vigil_guard.py","lineNumber":187,"sourceCode":"                    \"Vigil Guard unrecognized decision for guardrail_name=%s source=%s: %r\",\n                    self.guardrail_name,\n                    source,\n                    decision,\n                )\n                if self.unreachable_fallback == \"fail_open\":\n                    return self._build_output(\n                        inputs,\n                        result_texts + list(texts[index:]),\n                        inputs.get(\"tool_calls\"),\n                    )\n                raise GuardrailRaisedException(\n                    guardrail_name=self.guardrail_name,\n                    message=\"Vigil Guard returned an unrecognized decision.\",\n                    should_wrap_with_default_message=False,\n                )\n\n            if decision == \"BLOCKED\":\n                raise GuardrailRaisedException(\n                    guardrail_name=self.guardrail_name,\n                    message=self._build_block_reason(analysis),\n                    should_wrap_with_default_message=False,\n                )\n\n            if decision == \"SANITIZED\":\n                result_texts.append(self._resolve_sanitized_text(text, analysis))\n            else:\n                result_texts.append(text)\n\n        result_tool_calls = inputs.get(\"tool_calls\")\n        for tc_index, arguments in tool_call_args:\n            try:\n                analysis = await self._analyze(text=arguments, source=source, metadata=metadata)\n            except (\n                httpx.HTTPError,\n                LiteLLMTimeout,\n                JSONDecodeError,","sourceCodeStart":169,"sourceCodeEnd":205,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/vigil_guard/vigil_guard.py#L169-L205","documentation":"Error \"Blocked by policy\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/vigil_guard/vigil_guard.py:187 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Modify the request to comply with the Vigil Guard policy.","Review the Vigil Guard policy rules that produced the block."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}