n8n-io/n8n · error
SET_INVALID_ASSIGNMENT
SET_INVALID_ASSIGNMENT
Error message
${nodeRef} has invalid assignments. Expected parameters.assignments to be an object containing assignments: []. What it means
Fires in validateNode when parameters.assignments exists but is not a plain object. In manual mode the Set node expects assignments to be an object wrapping an array ({ assignments: [...] }); a string, array, or other non-object value at parameters.assignments is the input at fault. This is a generic validation guard, not a runtime failure. Skipped entirely when assignments is undefined or the node version is below MIN_ASSIGNMENT_VERSION.
Solutions
- Structure the config as parameters.assignments = { assignments: [ { name, value, type } ] }
- Remove parameters.assignments entirely if the node is not in manual mode and you do not intend to map fields
- Verify the node version supports assignments (version >= MIN_ASSIGNMENT_VERSION)
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/set-node-validator.ts:111 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/cf3236601ac5365f.
Report an issue: GitHub.
Appendix: source
Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/set-node-validator.ts:111
violationLevel: 'major',
nodeName: displayName,
parameterPath: 'parameters.mode',
originalName: origForWarning,
});
}
if (nodeVersion < MIN_ASSIGNMENT_VERSION) {
return issues;
}
const assignments = params.assignments;
if (assignments === undefined) {
return issues;
}
if (!isRecord(assignments)) {
issues.push({
code: 'SET_INVALID_ASSIGNMENT',
message: `${nodeRef} has invalid assignments. Expected parameters.assignments to be an object containing assignments: [].`,
severity: 'error',
violationLevel: 'major',
nodeName: displayName,
parameterPath: 'parameters.assignments',
originalName: origForWarning,
});
return issues;
}
const assignmentItems = assignments.assignments;
if (assignmentItems === undefined) {
return issues;
}
if (!Array.isArray(assignmentItems)) {
issues.push({View on GitHub (pinned to 5ac6606e81)