bitwarden/server · error · BadRequestException
Cannot autoscale on a self-hosted instance.
Error message
Cannot autoscale on a self-hosted instance.
What it means
Error "Cannot autoscale on a self-hosted instance." thrown in bitwarden/server.
Source
Thrown at src/Api/AdminConsole/Controllers/OrganizationUsersController.cs:785
[HttpPut("enable-secrets-manager")]
[Authorize<ManageUsersRequirement>]
public async Task BulkEnableSecretsManagerAsync(Guid orgId,
[FromBody] OrganizationUserBulkRequestModel model)
{
var orgUsers = (await _organizationUserRepository.GetManyAsync(model.Ids))
.Where(ou => ou.OrganizationId == orgId && !ou.AccessSecretsManager).ToList();
if (orgUsers.Count == 0)
{
throw new BadRequestException("Users invalid.");
}
var additionalSmSeatsRequired = await _countNewSmSeatsRequiredQuery.CountNewSmSeatsRequiredAsync(orgId, orgUsers.Count);
if (additionalSmSeatsRequired > 0)
{
// Self-hosted instances can't autoscale their Stripe subscription, so reject before touching billing.
if (_globalSettings.SelfHosted)
{
throw new BadRequestException(new V2_UpdateUserCommand.CannotAutoscaleSecretsManagerSeatsOnSelfHost().Message);
}
var organization = await _organizationRepository.GetByIdAsync(orgId);
var plan = await _pricingClient.GetPlanOrThrow(organization!.PlanType);
var update = new SecretsManagerSubscriptionUpdate(organization, plan, true)
.AdjustSeats(additionalSmSeatsRequired);
await _updateSecretsManagerSubscriptionCommand.UpdateSubscriptionAsync(update);
}
foreach (var orgUser in orgUsers)
{
orgUser.AccessSecretsManager = true;
}
await _organizationUserRepository.ReplaceManyAsync(orgUsers);
}
/// <summary>View on GitHub (pinned to e93b962371)
Solutions
- Set explicit seat counts instead of using autoscale; self-hosted instances manage seats via the license.
- Contact Bitwarden sales/support to adjust the licensed seat count for the self-hosted installation.
When it happens
Trigger: Thrown when a request attempts to enable or use seat autoscaling on a self-hosted Bitwarden instance, where autoscaling is only supported on the cloud service.
Common situations: See trigger scenarios.
AI-assisted analysis of bitwarden/server@e93b962371 (2026-08-13).
Data as JSON: /api/errors/fad6ee5a11f2e2aa.
Report an issue: GitHub.