ComfyUI is under active development, so some details here may be outdated. If you spot something that’s changed, feel free to help us update the docs.
Nodes perform operations
In computer science, a node is a container for information, usually including programmed instructions to perform some task. Nodes almost never exist in isolation, they’re almost always connected to other nodes in a networked graph. In ComfyUI, nodes take the visual form of boxes that are connected to each other. ComfyUI nodes are usually function operators. This means that they operate on some data to perform a function. A function is a process that accepts input data, performs some operation on it, and produces output data. In other words, nodes do some work, contributing to the completion of a task such as generating an image. So ComfyUI nodes almost always have at least one input or output, and usually have multiple inputs and outputs.Different Node States
In ComfyUI, nodes have multiple states. Here are some common node states:- Normal State: The default state
- Running State: The running state, typically displayed when a node is executing after you start running the workflow
- Error State: Node error, typically displayed after running the workflow if there’s a problem with the node’s input, indicated by red marking of the erroneous input node. You need to fix the problematic input to ensure the workflow runs correctly
- Missing State: This state usually appears after importing workflows, with two possibilities:
- Comfy Core native node missing: This usually happens because ComfyUI has been updated, but you’re using an older version of ComfyUI. You need to update ComfyUI to resolve this issue
- Custom node missing: The workflow uses custom nodes developed by third-party authors, but your local ComfyUI version doesn’t have these custom nodes installed. You can use ComfyUI Manager to find and install them, or follow How to install custom nodes for other methods
Connections Between Nodes
In ComfyUI, nodes are connected through links, allowing data of the same type to flow between different processing units to achieve the final result. Each node receives some input, processes it through its module, and converts it to corresponding output. Connections between different nodes must conform to the data type requirements. In ComfyUI, we use different colors to distinguish node data types. Below are some basic data types:
As ComfyUI evolves, we may expand to more data types to meet the needs of more scenarios.
Connecting and Disconnecting Nodes
Connecting: Drag from the output point of one node to the input of the same color on another node to connect them Disconnecting: Click on the input endpoint and drag the mouse left button to disconnect, or cancel the connection through the midpoint menu of the linkNode Appearance
We provide various style settings for you to customize the appearance of nodes:- Modify styles
- Double-click the node title to modify the node name
- Resize the node by dragging any corner
Node Badges
We provide multiple node badge display features, such as:- Node ID
- Node source
Node Context Menus
Node context menus are mainly divided into two types:- Context menu for the node itself
- Context menu for inputs/outputs
Node Context Menu
By right-clicking on a node, you can expand the corresponding node context menu: In the node’s right-click context menu, you can:- Adjust the node’s color style
- Modify the title
- Clone, copy, or delete the node
- Set the node’s mode
- Mode: Set the node’s mode: Always, Never, Bypass
Mode
For modes, you may notice that we currently provide: Always, Never, On Event, On Trigger - four modes, but actually only Always and Never are effective. On Event and On Trigger are currently ineffective as we haven’t fully implemented this feature. Additionally, you can understand Bypass as a mode. Below is an explanation of the available modes:- Always: The default node mode. The node will execute whenever it runs for the first time or when any of its inputs change since the last execution
- Never: The node will never execute under any circumstances, as if it’s been deleted. Subsequent nodes cannot read or receive any data from it
- Bypass: The node will never execute under any circumstances, but subsequent nodes can still try to obtain data that hasn’t been processed by this node
Never and Bypass modes:
In this comparison example, you can see that both workflows apply two LoRA models simultaneously, with the difference being that one Load LoRA node is set to Never mode while the other is set to Bypass mode.
- The node set to
Nevermode causes subsequent nodes to show errors because they don’t receive any input data - The node set to
Bypassmode still allows subsequent nodes to receive unprocessed data, so they load the output data from the firstLoad LoRAnode, allowing the subsequent workflow to continue running normally
Input/Output Context Menu
This context menu is mainly related to the data type of the corresponding input/output: When dragging the input/output of a node, if a connection appears but you haven’t connected to another node’s input or output, releasing the mouse will pop up a context menu for the input/output, used to quickly add related types of nodes. You can adjust the number of node suggestions in the settings:Node Selection Toolbox
The Node Selection Toolbox is a floating tool that provides quick operations for nodes. When you select a node, it hovers above the selected node. Through this toolbox, you can:- Change the node’s color
- Quickly set the node to Bypass mode (not execute during runtime)
- Lock the node
- Delete the node
Subgraphs
You can collapse a selection of nodes into one reusable subgraph node to tidy complex graphs and reuse the same structure across workflows.Subgraph
Learn how to create, edit, nest, and publish subgraph blueprints to the node library.
Custom Nodes
ComfyUI includes many Comfy Core nodes in the base installation. The community also maintains a large catalog of custom nodes for specialized workflows. For a full summary of how to install custom nodes—ComfyUI Manager, Git clone, ZIP download, dependencies, and safety tips—see How to install custom nodes.ComfyUI Manager
Use ComfyUI Manager for everyday custom node work: search and install from the registry, update or disable packages, detect missing nodes from imported workflows, and manage models and snapshots alongside extensions. Desktop builds ship with it enabled; portable and manual installs may need to turn it on first.ComfyUI Manager
Overview, enabling the Manager, and node installation workflows