async def METHOD_NAME(
    self, *scopes: str, claims: Optional[str] = None, tenant_id: Optional[str] = None, **kwargs: Any
) -> AccessToken:
    """Asynchronously request an access token for `scopes`.
    This method is called automatically by Azure SDK clients.
    :param str scopes: desired scopes for the access token. This method requires at least one scope.
        For more information about scopes, see
        https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.
    :keyword str claims: additional claims required in the token, such as those returned in a resource provider's
        claims challenge following an authorization failure.
    :keyword str tenant_id: optional tenant to include in the token request.
    :return: An access token with the desired scopes.
    :rtype: ~azure.core.credentials.AccessToken
    :raises ~azure.identity.CredentialUnavailableError: environment variable configuration is incomplete
    """
    if not self._credential:
        message = (
            "EnvironmentCredential authentication unavailable. Environment variables are not fully configured.\n"
            "Visit https://aka.ms/azsdk/python/identity/environmentcredential/troubleshoot to troubleshoot "
            "this issue."
        )
        raise CredentialUnavailableError(message=message)
    return await self._credential.METHOD_NAME(*scopes, claims=claims, tenant_id=tenant_id, **kwargs)