n8n-io/n8n · error · NodeOperationError

Workspace ID is required for the Germany (Frankfurt) region

Error message

Workspace ID is required for the Germany (Frankfurt) region

What it means

Thrown by the Alibaba Cloud (Qwen / DashScope compatible mode) Chat node when credentials.region is 'eu-central-1' (Germany/Frankfurt) but credentials.workspaceId is missing. Alibaba's Frankfurt region enforces workspace-scoped endpoints, so without a workspace id the base URL cannot be assembled correctly.

Source

Thrown at packages/@n8n/nodes-langchain/nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.ts:239

			region: string;
			workspaceId?: string;
		}>('alibabaCloudApi');

		const modelName = this.getNodeParameter('model', itemIndex) as string;

		const options = this.getNodeParameter('options', itemIndex, {}) as {
			frequencyPenalty?: number;
			maxTokens?: number;
			maxRetries: number;
			timeout: number;
			presencePenalty?: number;
			temperature?: number;
			topP?: number;
			responseFormat?: 'text' | 'json_object';
		};

		if (credentials.region === 'eu-central-1' && !credentials.workspaceId) {
			throw new NodeOperationError(
				this.getNode(),
				'Workspace ID is required for the Germany (Frankfurt) region',
			);
		}

		const baseURL = credentials.url + COMPATIBLE_MODE_SUFFIX;
		const timeout = options.timeout;
		const configuration: ClientOptions = {
			baseURL,
			fetchOptions: {
				dispatcher: getProxyAgent(baseURL, {
					headersTimeout: timeout,
					bodyTimeout: timeout,
				}),
			},
		};

		const model = new ChatOpenAI({

View on GitHub (pinned to 5ac6606e81)

Solutions

  1. Edit the Alibaba Cloud credential and fill in the Workspace ID for the Frankfurt region.
  2. If you don't have a workspace, switch the region to one that doesn't require it (international/cn-beijing) or create a workspace in the Alibaba console first.
  3. Verify the workspace id in the Alibaba Cloud Bailian/DashScope console and paste it exactly.

Example fix

// before
credentials = { region: 'eu-central-1', workspaceId: '' }
// after
credentials = { region: 'eu-central-1', workspaceId: 'xxxxx' }
Defensive patterns

Strategy: validation

Validate before calling

if (credentials.region === 'eu-central-1' && !credentials.workspaceId) {
  throw new Error('Fill in the Workspace ID for the Germany (Frankfurt) region, or switch regions.');
}

Type guard

const isFrankfurtRegion = (r: string): boolean => r === 'eu-central-1';

Try / catch

// Pre-validate at credential-save time.

Prevention

When it happens

Trigger: User selects the eu-central-1 region in the Alibaba Cloud credential but leaves workspaceId blank. The node pre-flight check fails before the client is constructed.

Common situations: Creating a new credential and choosing Frankfurt; switching from cn-beijing/international to eu-central-1 without re-entering workspace; credential imported from a template that omitted workspaceId.

Related errors


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