{"record":{"id":"f9f91cd80af34fce","repo":"BerriAI/litellm","slug":"pangea-api-key-not-found-set-pangea-api-key-envir","errorCode":null,"errorMessage":"Pangea API Key not found. Set PANGEA_API_KEY environment variable or pass it in litellm_params.","messagePattern":"Pangea API Key not found\\. Set PANGEA_API_KEY environment variable or pass it in litellm_params\\.","errorType":"validation","errorClass":"PangeaGuardrailMissingSecrets","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/pangea/pangea.py","lineNumber":81,"sourceCode":"        pangea_output_recipe: str | None = None,\n        api_key: str | None = None,\n        api_base: str | None = None,\n        **kwargs,\n    ):\n        \"\"\"\n        Initializes the PangeaHandler.\n\n        Args:\n            guardrail_name (str): The name of the guardrail instance.\n            pangea_recipe (str): The Pangea recipe key to use for scanning.\n            api_key (Optional[str]): The Pangea API key. Reads from PANGEA_API_KEY env var if None.\n            api_base (Optional[str]): The Pangea API base URL. Reads from PANGEA_API_BASE env var or uses default if None.\n            **kwargs: Additional arguments passed to the CustomGuardrail base class.\n        \"\"\"\n        self.async_handler = get_async_httpx_client(llm_provider=httpxSpecialProvider.GuardrailCallback)\n        self.api_key = api_key or os.environ.get(\"PANGEA_API_KEY\")\n        if not self.api_key:\n            raise PangeaGuardrailMissingSecrets(\n                \"Pangea API Key not found. Set PANGEA_API_KEY environment variable or pass it in litellm_params.\"\n            )\n\n        # Default Pangea base URL if not provided\n        self.api_base = api_base or os.environ.get(\"PANGEA_API_BASE\") or \"https://ai-guard.aws.us.pangea.cloud\"\n        self.pangea_input_recipe = pangea_input_recipe\n        self.pangea_output_recipe = pangea_output_recipe\n\n        # Pass relevant kwargs to the parent class\n        super().__init__(\n            guardrail_name=guardrail_name,\n            supported_event_hooks=list(self.get_supported_event_hooks()),\n            **kwargs,\n        )\n        verbose_proxy_logger.debug(\n            \"Initialized Pangea Guardrail: name=%s, recipe=%s, api_base=%s\",\n            guardrail_name,\n            pangea_input_recipe,","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/pangea/pangea.py#L63-L99","documentation":"Error \"Pangea API Key not found. Set PANGEA_API_KEY environment variable or pass it in litellm_params.\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/pangea/pangea.py:81 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the PANGEA_API_KEY environment variable.","Or pass api_key in the pangea guardrail's litellm_params.","Verify the key is valid in the Pangea console."],"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"}