{"record":{"id":"18aa014ab08064a6","repo":"BerriAI/litellm","slug":"ibm-guardrails-guardrail-name-is-required","errorCode":null,"errorMessage":"IBM Guardrails: guardrail_name is required","messagePattern":"IBM Guardrails: guardrail_name is required","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/__init__.py","lineNumber":24,"sourceCode":"from .ibm_detector import IBMGuardrailDetector\n\nif TYPE_CHECKING:\n    from litellm.types.guardrails import Guardrail, LitellmParams\n\n\ndef initialize_guardrail(litellm_params: \"LitellmParams\", guardrail: \"Guardrail\"):\n    import litellm\n\n    if not litellm_params.auth_token:\n        raise ValueError(\"IBM Guardrails: auth_token is required\")\n    if not litellm_params.base_url:\n        raise ValueError(\"IBM Guardrails: base_url is required\")\n    if not litellm_params.detector_id:\n        raise ValueError(\"IBM Guardrails: detector_id is required\")\n\n    guardrail_name: Final = guardrail.get(\"guardrail_name\")\n    if not guardrail_name:\n        raise ValueError(\"IBM Guardrails: guardrail_name is required\")\n\n    verify_ssl: Final = getattr(litellm_params, \"verify_ssl\", True)\n\n    # Get optional params\n    optional_params: Final = getattr(litellm_params, \"optional_params\", IBMDetectorOptionalParams())\n    detector_params: Final = getattr(optional_params, \"detector_params\", {})\n    extra_headers: Final = getattr(optional_params, \"extra_headers\", {})\n    score_threshold: Final = getattr(optional_params, \"score_threshold\", None)\n    block_on_detection: Final = getattr(optional_params, \"block_on_detection\", True)\n\n    is_detector_server = litellm_params.is_detector_server\n    if is_detector_server is None:\n        is_detector_server = True\n\n    ibm_guardrail: Final = IBMGuardrailDetector(\n        guardrail_name=guardrail_name,\n        auth_token=litellm_params.auth_token,\n        base_url=litellm_params.base_url,","sourceCodeStart":6,"sourceCodeEnd":42,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/__init__.py#L6-L42","documentation":"Error \"IBM Guardrails: guardrail_name is required\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/__init__.py:24 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set guardrail_name in the ibm_guardrails guardrail configuration.","Give the guardrail a unique, non-empty name in the config file and restart the proxy."],"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"}