n8n-io/n8n · error

UNKNOWN_CONFIG_KEY

UNKNOWN_CONFIG_KEY

Error message

Node ${nodeRef} has unknown key(s) at the top level of config: ${keyList}. Did you mean to place them inside config.parameters? Top-level keys outside the NodeConfig fields are silently dropped during serialization, leaving the node with empty parameters.

What it means

Error "Node ${nodeRef} has unknown key(s) at the top level of config: ${keyList}. Did you mean to place them inside config.parameters? Top-level keys outside the NodeConfig fields are silently dropped during serialization, leaving the node with empty parameters." thrown in n8n-io/n8n.

Solutions

  1. Move the unknown keys inside config.parameters, where the Set/agent parameters belong
  2. Remove keys that are not part of the NodeConfig contract if they were added by mistake
  3. Check the NodeConfig type definition for the exact accepted top-level field names
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/unknown-config-keys-validator.ts:76 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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

Appendix: source

Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/unknown-config-keys-validator.ts:76

		node: NodeInstance<string, string, unknown>,
		_graphNode: GraphNode,
		_ctx: PluginContext,
	): ValidationIssue[] {
		if (!node.config) return [];

		const unknownKeys = Object.keys(node.config).filter(
			// Internal markers (e.g. `_originalName` set by fromJSON) are intentional
			// and not part of the public NodeConfig contract.
			(key) => !KNOWN_CONFIG_KEYS.has(key) && !key.startsWith('_'),
		);

		if (unknownKeys.length === 0) return [];

		const nodeRef = formatNodeRef(node.name, undefined, node.type);
		const keyList = unknownKeys.map((k) => `"${k}"`).join(', ');
		return [
			{
				code: 'UNKNOWN_CONFIG_KEY',
				message: `Node ${nodeRef} has unknown key(s) at the top level of config: ${keyList}. Did you mean to place them inside config.parameters? Top-level keys outside the NodeConfig fields are silently dropped during serialization, leaving the node with empty parameters.`,
				severity: 'warning',
				violationLevel: 'major',
				nodeName: node.name,
			},
		];
	},
};

View on GitHub (pinned to 5ac6606e81)