{"record":{"id":"65e02dd1d95103c2","repo":"BerriAI/litellm","slug":"missing-cyberark-credentials-please-set-cyberark","errorCode":null,"errorMessage":"Missing CyberArk credentials. Please set CYBERARK_API_KEY or both CYBERARK_CLIENT_CERT and CYBERARK_CLIENT_KEY in your environment.","messagePattern":"Missing CyberArk credentials\\. Please set CYBERARK_API_KEY or both CYBERARK_CLIENT_CERT and CYBERARK_CLIENT_KEY in your environment\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/secret_managers/cyberark_secret_manager.py","lineNumber":44,"sourceCode":"\n        # CyberArk Conjur-specific config\n        self.conjur_addr = os.getenv(\"CYBERARK_API_BASE\", \"http://127.0.0.1:8080\")\n        self.conjur_account = os.getenv(\"CYBERARK_ACCOUNT\", \"default\")\n        self.conjur_username = os.getenv(\"CYBERARK_USERNAME\", \"admin\")\n        self.conjur_api_key = os.getenv(\"CYBERARK_API_KEY\", \"\")\n\n        # Optional config for certificate-based auth\n        self.tls_cert_path = os.getenv(\"CYBERARK_CLIENT_CERT\", \"\")\n        self.tls_key_path = os.getenv(\"CYBERARK_CLIENT_KEY\", \"\")\n\n        # SSL verification - can be disabled for self-signed certificates\n        # Set CYBERARK_SSL_VERIFY=false to disable SSL verification\n        ssl_verify_env: Final = str_to_bool(os.getenv(\"CYBERARK_SSL_VERIFY\"))\n        self.ssl_verify: bool = ssl_verify_env if ssl_verify_env is not None else True\n\n        # Validate environment\n        if not self.conjur_api_key and not (self.tls_cert_path and self.tls_key_path):\n            raise ValueError(\n                \"Missing CyberArk credentials. Please set CYBERARK_API_KEY or both CYBERARK_CLIENT_CERT and CYBERARK_CLIENT_KEY in your environment.\"\n            )\n\n        litellm.secret_manager_client = self\n        litellm._key_management_system = KeyManagementSystem.CYBERARK\n\n        # Tokens expire after ~8 minutes, so we cache for 5 minutes to be safe\n        _refresh_interval: Final = int(os.environ.get(\"CYBERARK_REFRESH_INTERVAL\", \"300\"))\n        self.cache = InMemoryCache(default_ttl=_refresh_interval)\n\n        if premium_user is not True:\n            raise ValueError(\n                f\"CyberArk secret manager is only available for premium users. {CommonProxyErrors.not_premium_user.value}\"\n            )\n\n        if not self.ssl_verify:\n            verbose_logger.warning(\n                \"CyberArk SSL verification is disabled. This is insecure and should only be used for testing with self-signed certificates.\"","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/secret_managers/cyberark_secret_manager.py#L26-L62","documentation":"Environment validation error in CyberArkSecretManager.__init__: neither CYBERARK_API_KEY nor the cert/key pair (CYBERARK_CLIENT_CERT + CYBERARK_CLIENT_KEY) is set, so no authentication method is available for Conjur.","triggerScenarios":"Thrown at litellm/secret_managers/cyberark_secret_manager.py:44 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set CYBERARK_API_KEY, or set both CYBERARK_CLIENT_CERT and CYBERARK_CLIENT_KEY for certificate auth.","Confirm the env vars are exported in the process environment before starting the proxy."],"exampleFix":null,"handlingStrategy":"validation","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"}