n8n-io/n8n · info
DISCONNECTED_NODE
DISCONNECTED_NODE
Error message
${nodeRef} is not connected to any input. It will not receive data. What it means
Informational validator issue (code DISCONNECTED_NODE, violationLevel 'major') emitted when a graph node has no incoming connections and is not a connected subnode — meaning it will receive no data at runtime. The message references the node (with optional renamed/alias name and type) so the builder can wire an input.
Source
Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/disconnected-node-validator.ts:216
// Skip sticky notes - they don't participate in data flow
if (isStickyNoteType(graphNode.instance.type)) {
continue;
}
// Skip subnodes - they connect TO their parent via AI connections
if (isConnectedSubnode(graphNode)) {
continue;
}
// Check if this node has any incoming connection (use mapKey, not originalName)
if (!nodesWithIncoming.has(mapKey)) {
const renamed = isAutoRenamed(mapKey, originalName);
const displayName = renamed ? mapKey : originalName;
const origForWarning = renamed ? originalName : undefined;
const nodeRef = formatNodeRef(displayName, origForWarning, graphNode.instance.type);
issues.push({
code: 'DISCONNECTED_NODE',
message: `${nodeRef} is not connected to any input. It will not receive data.`,
severity: 'informational',
violationLevel: 'major',
nodeName: displayName,
originalName: origForWarning,
});
}
}
return issues;
},
};
View on GitHub (pinned to 5ac6606e81)
Solutions
- Connect an upstream node's output to this node's input.
- If the node is a trigger or data source that needs no input, verify it is a recognized root node type.
- Remove the node if it is unused.
Example fix
// before trigger() email() // disconnected // after trigger().to(email())
Defensive patterns
Strategy: validation
Validate before calling
// Before finalizing the workflow, confirm every non-root node has an incoming edge
const roots = new Set(['@n8n/n8n-nodes-langchain.chainLlm' /* triggers, etc. */]);
for (const n of allNodes) {
if (!roots.has(n.type) && !hasIncoming(n)) {
// warn: disconnected node
}
} Prevention
- After adding a node, immediately connect an upstream output.
- Run the disconnected-node validator on every save.
- Watch for auto-renamed nodes whose old-name connections no longer match.
When it happens
Trigger: Adding a node to the workflow but forgetting to connect an upstream node's output to it; renaming a node so a previously-valid connection no longer matches.
Common situations: Rapid prototyping where nodes are dropped before wiring; refactors that break a chain; trigger nodes whose outputs were never routed.
Related errors
- No checkpoint found for runId: ${this.runId}
- Reflector output must be valid JSON
- INVALID_CONNECTION
- SELF_CONNECTION
- NODES_NOT_FOUND
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/34ee0c83f7caf5e8.
Report an issue: GitHub.