BerriAI/litellm · error · ValueError
Failed to verify new secret {new_secret_name}
Error message
Failed to verify new secret {new_secret_name} What it means
Raised after async_read_secret returns None for a just-written rotated secret, meaning the write path reported success but the new secret cannot be read back from the backend. Fires when the provider eventually-consistent store has not exposed the new secret yet, or the create call silently failed.
Source
Thrown at litellm/secret_managers/base_secret_manager.py:167
# Create new secret with new name and value
create_response: Final = await self.async_write_secret(
secret_name=new_secret_name,
secret_value=new_secret_value,
description=f"Rotated from {current_secret_name}",
optional_params=optional_params,
timeout=timeout,
)
# Verify new secret was created successfully
new_secret: Final = await self.async_read_secret(
secret_name=new_secret_name,
optional_params=optional_params,
timeout=timeout,
)
if new_secret is None:
raise ValueError(f"Failed to verify new secret {new_secret_name}")
# If everything is successful, delete the old secret
await self.async_delete_secret(
secret_name=current_secret_name,
recovery_window_in_days=7, # Keep for recovery if needed
optional_params=optional_params,
timeout=timeout,
)
return create_response
except httpx.HTTPStatusError as err:
verbose_logger.exception(
"Error rotating secret in AWS Secrets Manager: %s",
str(err.response.text),
)
raise ValueError(f"HTTP error occurred: {err.response.text}")
except httpx.TimeoutException:View on GitHub (pinned to 77b7c6c40c)
Solutions
- Read back {new_secret_name} after writing and confirm the stored value matches what was written.
- Check write permissions and backend errors during the verify step; retry the write-then-verify cycle.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at litellm/secret_managers/base_secret_manager.py:167 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/d94993937f4cef00.
Report an issue: GitHub.