n8n-io/n8n · error · NodeOperationError

Unsupported provider

Error message

Unsupported provider

What it means

Thrown by the HuggingFace Inference Embeddings node when options.provider is present but fails isValidHFProviderOrPolicy(). The node only accepts specific provider identifiers that the InferenceEndpoint API understands; anything else is rejected up front so the request does not fail opaquely downstream.

Source

Thrown at packages/@n8n/nodes-langchain/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.ts:105

						default: 'auto',
					},
				],
			},
		],
	};

	async supplyData(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData> {
		this.logger.debug('Supply data for embeddings HF Inference');
		const model = this.getNodeParameter(
			'modelName',
			itemIndex,
			'sentence-transformers/distilbert-base-nli-mean-tokens',
		) as string;
		const credentials = await this.getCredentials('huggingFaceApi');
		const options = this.getNodeParameter('options', itemIndex, {}) as object;

		if ('provider' in options && !isValidHFProviderOrPolicy(options.provider)) {
			throw new NodeOperationError(this.getNode(), 'Unsupported provider');
		}

		if (
			'endpointUrl' in options &&
			typeof options.endpointUrl === 'string' &&
			options.endpointUrl
		) {
			assertCredentialAllowsUrl({
				node: this.getNode(),
				credentialData: credentials,
				url: options.endpointUrl,
			});
		}

		const embeddings = new HuggingFaceInferenceEmbeddings({
			apiKey: credentials.apiKey as string,
			model,
			...options,

View on GitHub (pinned to 5ac6606e81)

Solutions

  1. Open the node options and pick a provider from the dropdown (or clear the field to use the default).
  2. Check isValidHFProviderOrPolicy source for the current allow-list and match its values exactly.
  3. If you need a custom inference endpoint, use the endpointUrl option instead of an unsupported provider string.
Defensive patterns

Strategy: validation

Validate before calling

const ALLOWED_PROVIDERS = ['auto', 'fal', 'hf-inference', ...]; // mirror isValidHFProviderOrPolicy
if ('provider' in options && !ALLOWED_PROVIDERS.includes((options as any).provider)) {
  throw new Error(`Unsupported provider. Allowed: ${ALLOWED_PROVIDERS.join(', ')}`);
}

Type guard

const isValidHFProvider = (v: unknown): v is string =>
  typeof v === 'string' && isValidHFProviderOrPolicy(v);

Try / catch

// Validate before supplyData; surface the allowed list to the user.

Prevention

When it happens

Trigger: User selects/types a provider value in the node 'options.provider' that is not in the allowed set — a typo like 'falback', a deprecated provider name, a custom endpoint vendor, or a value left over from a different HF node version.

Common situations: Upgrading nodes-base/nodes-langchain versions where the allowed-provider list changed; copying a workflow from a tutorial that used an old provider id; manually editing the workflow JSON to inject a provider the UI doesn't expose.

Related errors


AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12). Data as JSON: /api/errors/f800f3eb12f2cfdd. Report an issue: GitHub.