n8n-io/n8n · error

TOOL_NO_PARAMETERS

TOOL_NO_PARAMETERS

Error message

'${node.name}' has no parameters set.

What it means

Fires in validateNode when a tool node's config has no parameters object (or an empty one). Tools normally require at least one configured parameter; the validator skips types known to need none via TOOLS_WITHOUT_PARAMETERS or a nodeTypesProvider reporting empty properties. A tool node instantiated without config.parameters — or with parameters left as an empty object — is the input at fault. This is a static validation guard, not a runtime exception.

Solutions

  1. Pass the required configuration to the tool factory so config.parameters is populated
  2. If the tool type genuinely needs no parameters, confirm it is listed in TOOLS_WITHOUT_PARAMETERS or served by the nodeTypesProvider with empty properties
  3. Check for a typo causing parameters to be nested in the wrong place in the config object
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/tool-node-validator.ts:54 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/fa1021e6cef959af. Report an issue: GitHub.

Appendix: source

Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/tool-node-validator.ts:54

		const provider = ctx.validationOptions?.nodeTypesProvider;
		if (provider) {
			const nodeType = provider.getByNameAndVersion(node.type, Number(node.version));
			const properties = nodeType?.description?.properties;
			// If provider returns info and properties is empty array, skip validation
			if (properties !== undefined && properties.length === 0) {
				return issues;
			}
		}

		// Fallback to static list when provider not available or doesn't have info
		if (TOOLS_WITHOUT_PARAMETERS.has(node.type)) {
			return issues;
		}

		const params = node.config?.parameters;
		if (!params || Object.keys(params).length === 0) {
			issues.push({
				code: 'TOOL_NO_PARAMETERS',
				message: `'${node.name}' has no parameters set.`,
				severity: 'warning',
				nodeName: node.name,
			});
		}

		return issues;
	},
};

View on GitHub (pinned to 5ac6606e81)