n8n-io/n8n · error · Error
Sticky notes do not support connections
Error message
Sticky notes do not support connections
What it means
Thrown by StickyNoteInstance.to(). The .to() method is the standard fan-out wiring entry point on NodeInstance, but sticky notes have no output port to wire from, so any attempt to chain a sticky into another node is rejected.
Source
Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/node-builders/node-builder.ts:1160
name: config.name ?? this.name,
};
// Pass empty nodes array since update doesn't recalculate bounding box
return new StickyNoteInstance(newContent, [], newConfig);
}
input(_index: number): InputTarget {
throw new Error('Sticky notes do not support input connections');
}
output(_index: number): OutputSelector<'n8n-nodes-base.stickyNote', 'v1', void> {
throw new Error('Sticky notes do not support output connections');
}
to<T extends NodeInstance<string, string, unknown>>(
_target: T | T[] | InputTarget,
_outputIndex?: number,
): NodeChain<NodeInstance<'n8n-nodes-base.stickyNote', 'v1', void>, T> {
throw new Error('Sticky notes do not support connections');
}
onError<T extends NodeInstance<string, string, unknown>>(_handler: T): this {
throw new Error('Sticky notes do not support error handlers');
}
getConnections(): DeclaredConnection[] {
return [];
}
}
/**
* Create a sticky note for workflow documentation.
*
* Like any other node, the returned sticky must be passed to
* `workflow(...)` (or `.add(...)`) to appear on the canvas. The optional
* `nodes` array is **only** used to size and anchor the sticky around the
* given nodes — it does **not** add them to the workflow.View on GitHub (pinned to 5ac6606e81)
Solutions
- Do not call .to() on a StickyNoteInstance; stickies are terminal documentation elements.
- Filter stickies out of node lists before wiring.
- Add stickies to workflow() separately from the connection chain.
Example fix
// before source.to(stickyNote).to(target); // throws // after workflow(source.to(target), stickyNote);
Defensive patterns
Strategy: type-guard
Validate before calling
const STICKY = 'n8n-nodes-base.stickyNote';
function safeTo<T extends NodeInstance>(src: NodeInstance, target: T): NodeChain<any, T> {
if (src.type === STICKY) throw new Error('Sticky notes cannot originate connections');
return src.to(target);
} Type guard
function isStickyNote(node: NodeInstance): node is NodeInstance<'n8n-nodes-base.stickyNote', 'v1', void> {
return node.type === 'n8n-nodes-base.stickyNote';
} Prevention
- Do not chain .to() off a sticky note.
- Keep stickies terminal — never mid-chain.
- Filter stickies out of generic chaining utilities.
When it happens
Trigger: Calling stickyNode.to(target); fluent code that chains source.to(sticky).to(after); generic wiring that routes through every node in a list.
Common situations: Placing a sticky mid-chain; auto-wiring that does not filter stickies; assuming .to() works on every NodeInstance.
Related errors
- Sticky notes do not support input connections
- Sticky notes do not support output connections
- SplitInBatches node input connections are managed by SplitIn
- SplitInBatches node output connections are managed by SplitI
- SplitInBatches node connections are managed by SplitInBatche
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/436a66c46ee42b8c.
Report an issue: GitHub.