BerriAI/litellm · error · ValueError

Custom secret manager client must be an instance of CustomSe

Error message

Custom secret manager client must be an instance of CustomSecretManager, got {type(client).__name__}

What it means

Type guard in the CUSTOM key-manager branch: the configured client object is not an instance of CustomSecretManager, so it lacks the sync_read_secret interface the handler expects. The actual type name is reported.

Source

Thrown at litellm/secret_managers/secret_manager_handler.py:155

            if secret is None:
                raise ValueError(f"No secret found in CyberArk Secret Manager for {secret_name}")
        except Exception as e:
            print_verbose(f"An error occurred - {e}")
            raise e

    elif key_manager == KeyManagementSystem.CUSTOM.value:
        # Check if client is a CustomSecretManager instance
        from litellm.integrations.custom_secret_manager import CustomSecretManager

        if isinstance(client, CustomSecretManager):
            secret = client.sync_read_secret(
                secret_name=secret_name,
                optional_params=(key_management_settings.model_dump() if key_management_settings else None),
            )
            if secret is None:
                raise ValueError(f"No secret found in Custom Secret Manager for {secret_name}")
        else:
            raise ValueError(
                f"Custom secret manager client must be an instance of CustomSecretManager, got {type(client).__name__}"
            )

    elif key_manager == "local":
        secret = os.getenv(secret_name)

    else:  # assume the default is infisicial client
        secret = client.get_secret(secret_name).secret_value

    return secret

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Return an instance of a CustomSecretManager subclass from your loader, not {type(client).__name__}.
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at litellm/secret_managers/secret_manager_handler.py:155 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/046521d04b1294ac. Report an issue: GitHub.