withastro/astro · warning

The adapter ${adapterName} provides experimental support for

Error message

The adapter ${adapterName} provides experimental support for "${featureName}". You may experience issues or breaking changes until this feature is fully supported by the adapter.

What it means

Same adapter feature-validation path as the deprecated case, but for support kind EXPERIMENTAL: Astro warns (domain 'config') that the adapter provides experimental support for the feature, so you may hit issues or breaking changes until support is fully stabilized.

Source

Thrown at packages/astro/src/integrations/features-validation.ts:159

	adapterName: string,
	logger: AstroLogger,
	featureName: string,
	supportKind: AdapterSupport,
	adapterMessage?: string,
	suppress?: 'all' | 'default',
) {
	if (!suppress) {
		switch (supportKind) {
			case AdapterFeatureStability.STABLE:
				break;
			case AdapterFeatureStability.DEPRECATED:
				logger.warn(
					'config',
					`The adapter ${adapterName} has deprecated its support for "${featureName}", and future compatibility is not guaranteed. The adapter may completely remove support for this feature without warning.`,
				);
				break;
			case AdapterFeatureStability.EXPERIMENTAL:
				logger.warn(
					'config',
					`The adapter ${adapterName} provides experimental support for "${featureName}". You may experience issues or breaking changes until this feature is fully supported by the adapter.`,
				);
				break;
			case AdapterFeatureStability.LIMITED:
				logger.warn(
					'config',
					`The adapter ${adapterName} has limited support for "${featureName}". Certain features may not work as expected.`,
				);
				break;
			case AdapterFeatureStability.UNSUPPORTED:
				logger.error(
					'config',
					`The adapter ${adapterName} does not currently support the feature "${featureName}". Your project may not build correctly.`,
				);
				break;
		}
	}

View on GitHub (pinned to 52e6c34790)

Solutions

  1. Pin both astro and the adapter to known-compatible versions and retest on every upgrade
  2. Follow the adapter's issue tracker for stabilization progress on that feature
  3. If the feature is optional for you, disable it until the adapter marks it stable
Defensive patterns

Strategy: validation

Validate before calling

const features = astroConfig.adapter?.features ?? {};
for (const [name, f] of Object.entries(features)) {
  if (f && typeof f === 'object' && f.support === 'experimental') {
    console.warn('adapter experimental feature in use: ' + name);
  }
}

Type guard

function isExperimentalSupport(f: unknown): boolean {
  return typeof f === 'object' && f !== null && (f as { support?: string }).support === 'experimental';
}

Prevention

When it happens

Trigger: The adapter declares support: 'experimental' for a feature in use (or checked via ensureAdapterSupport) and the warning is not suppressed.

Common situations: Enabling bleeding-edge adapter capabilities (e.g. new image services or secret managers) ahead of stabilization; warnings after an adapter ships experimental support for a previously-unsupported feature.

Related errors


AI-assisted analysis of withastro/astro@52e6c34790 (2026-08-18). Data as JSON: /api/errors/03299bead75b8b0c. Report an issue: GitHub.