windmill-labs/windmill · error

License can't be validated in Windmill CE

Error message

License can't be validated in Windmill CE

What it means

validate_license_key in windmill-api-settings is the CE stub for license key validation; the real implementation is enterprise-only. In an open-source build it always fails with 'License can't be validated in Windmill CE', returning no key info, no real quotas, and no offline metadata.

Source

Thrown at backend/windmill-api-settings/src/ee_oss.rs:17

#[cfg(feature = "private")]
#[allow(unused)]
pub use crate::ee::*;

#[cfg(not(feature = "private"))]
use anyhow::anyhow;
#[cfg(not(feature = "private"))]
pub async fn validate_license_key(
    _license_key: String,
    _db: Option<&windmill_common::DB>,
) -> anyhow::Result<(
    String,
    bool,
    Option<windmill_common::ee_oss::OfflineMetadata>,
)> {
    // Implementation is not open source
    Err(anyhow!("License can't be validated in Windmill CE"))
}

View on GitHub (pinned to e474e8803c)

Solutions

  1. Use Windmill Enterprise Edition and a valid license key issued by Windmill to validate licenses
  2. On CE, remove the license key from instance settings and run without EE features
  3. Contact Windmill sales to obtain an EE license if EE features are needed
Defensive patterns

Strategy: try-catch

Validate before calling

// on CE builds, skip license calls entirely
let is_ee = instance_settings.license_key.is_some() && windmill_common::build_info().ee;
if !is_ee { return Ok(None); }

Try / catch

match validate_license_key(&db, &key).await {
    Ok(info) => info,
    Err(e) if e.to_string().contains("can't be validated in Windmill CE") => {
        tracing::info!("no license validation in CE build");
        Default::default()
    }
    Err(e) => return Err(e),
}

Prevention

When it happens

Trigger: Calling test_license_key (settings API or superadmin UI 'test license' action) on a community-edition Windmill instance with any license key string.

Common situations: Self-hosted CE user pastes a license key into instance settings expecting activation; CI test invoking the license endpoint on a CE build; migrating config from EE to CE.

Related errors


AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03). Data as JSON: /api/errors/95f6556c6884d2b5. Report an issue: GitHub.