withastro/astro · warning

The adapter ${adapterName} has limited support for "${featur

Error message

The adapter ${adapterName} has limited support for "${featureName}". Certain features may not work as expected.

What it means

Same adapter feature-validation path, but for support kind LIMITED: Astro warns (domain 'config') that the adapter has limited support for the feature and certain functionality may not work as expected — the adapter implements it only partially.

Source

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

) {
	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;
		}
	}

	// If the adapter specified a custom message, log it after the default message (when not suppressed)
	if (adapterMessage && suppress !== 'all') {
		logger.warn('adapter', adapterMessage);
	}
}

View on GitHub (pinned to 52e6c34790)

Solutions

  1. Read the adapter's docs for the exact limitations of that feature and test those paths explicitly
  2. Work around the unsupported parts (e.g. preprocess images at build time, or fetch secrets elsewhere)
  3. If the limitation blocks you, switch to an adapter with full support for that feature
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 === 'limited') {
    console.warn('adapter limited feature in use: ' + name);
  }
}

Type guard

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

Prevention

When it happens

Trigger: The adapter declares support: 'limited' for a feature the project relies on and the warning is not suppressed.

Common situations: Platform-specific adapters implementing a subset of a feature (e.g. partial edge-image or env-secret support); behavior differences surfacing only in production on that platform.

Related errors


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