{"record":{"id":"5ad41d80ae005e27","repo":"BerriAI/litellm","slug":"no-secret-found-in-hashicorp-secret-manager-for-s","errorCode":null,"errorMessage":"No secret found in Hashicorp Secret Manager for {secret_name}","messagePattern":"No secret found in Hashicorp Secret Manager for (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/secret_managers/secret_manager_handler.py","lineNumber":129,"sourceCode":"                primary_secret_name=primary_secret_name,\n            )\n            print_verbose(f\"get_secret_value_response: [set={secret is not None}]\")\n\n    elif key_manager == KeyManagementSystem.GOOGLE_SECRET_MANAGER.value:\n        try:\n            secret = client.get_secret_from_google_secret_manager(secret_name)\n            print_verbose(f\"secret from google secret manager: [set={secret is not None}]\")\n            if secret is None:\n                raise ValueError(f\"No secret found in Google Secret Manager for {secret_name}\")\n        except Exception as e:\n            print_verbose(f\"An error occurred - {e}\")\n            raise e\n\n    elif key_manager == KeyManagementSystem.HASHICORP_VAULT.value:\n        try:\n            secret = client.sync_read_secret(secret_name=secret_name)\n            if secret is None:\n                raise ValueError(f\"No secret found in Hashicorp Secret Manager for {secret_name}\")\n        except Exception as e:\n            print_verbose(f\"An error occurred - {e}\")\n            raise e\n\n    elif key_manager == KeyManagementSystem.CYBERARK.value:\n        try:\n            secret = client.sync_read_secret(secret_name=secret_name)\n            if secret is None:\n                raise ValueError(f\"No secret found in CyberArk Secret Manager for {secret_name}\")\n        except Exception as e:\n            print_verbose(f\"An error occurred - {e}\")\n            raise e\n\n    elif key_manager == KeyManagementSystem.CUSTOM.value:\n        # Check if client is a CustomSecretManager instance\n        from litellm.integrations.custom_secret_manager import CustomSecretManager\n\n        if isinstance(client, CustomSecretManager):","sourceCodeStart":111,"sourceCodeEnd":147,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/secret_managers/secret_manager_handler.py#L111-L147","documentation":"Post-fetch check in the Hashicorp Vault branch of get_secret: sync_read_secret returned None for secret_name, i.e. the path exists in configuration but Vault has no value at that path (wrong path prefix or deleted secret).","triggerScenarios":"Thrown at litellm/secret_managers/secret_manager_handler.py:129 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the secret path {secret_name} exists in Vault (correct mount and key).","Check Vault token/AppRole permissions for read access to that path."],"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-14T00:17:10.932Z"}