n8n-io/n8n · error · NodeOperationError

${error.message}

Error message

${error.message}

What it means

Thrown by the AlibabaCloud router's item-processing loop when an inner execute function throws and 'Continue On Fail' is NOT enabled. The caught error (which may be any Error, string, or object) is re-wrapped as a NodeOperationError with the current itemIndex so the execution report can point to the specific input item that failed. The original error's message becomes the NodeOperationError message.

Source

Thrown at packages/@n8n/nodes-langchain/nodes/vendors/AlibabaCloud/actions/router.ts:77

		default:
			throw new NodeOperationError(this.getNode(), `The resource "${resource}" is not supported`);
	}

	for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
		try {
			const executionData = await execute.call(this, itemIndex);
			returnData.push(executionData);
		} catch (error) {
			if (this.continueOnFail()) {
				returnData.push({
					json: {
						error: error instanceof Error ? error.message : String(error),
					},
					pairedItem: { item: itemIndex },
				});
				continue;
			}
			throw new NodeOperationError(this.getNode(), error, {
				itemIndex,
			});
		}
	}

	return [returnData];
}

View on GitHub (pinned to 5ac6606e81)

Solutions

  1. Read the wrapped error.message — it contains the original error's message text which identifies the root cause (e.g. 'InvalidApiKey', 'QuotaExceeded', content policy).
  2. Fix the root cause: update credentials, reduce batch size, fix input data for the failing item index.
  3. If you want the workflow to continue past failing items, enable 'Continue On Fail' in the node's Settings tab — errors will be captured in the output JSON instead of thrown.
  4. Check the execution data for the specific itemIndex to see which input triggered the failure.
Defensive patterns

Strategy: try-catch

Try / catch

// In a Code node or error-trigger workflow, catch the NodeOperationError:
try {
  // ... AlibabaCloud node execution logic ...
} catch (error) {
  if (error instanceof NodeOperationError && error.itemIndex !== undefined) {
    console.error(`Item ${error.itemIndex} failed: ${error.message}`);
    // route failing item to error branch, retry, or log
  }
  throw error; // re-throw if not handled
}

Prevention

When it happens

Trigger: Any error thrown during the actual operation execution (API call failure, authentication error, parsing error, rate limit, etc.) for a specific input item when the node is not configured to continue on failure. The original error is caught at router.ts:67 and re-thrown at line 77.

Common situations: AlibabaCloud API returns a 4xx/5xx (invalid API key, quota exceeded, content policy violation); input data for one item is malformed; network timeout during the operation; binary data missing for image/video operations.

Related errors


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