Skip to main content
A node is a box that performs one step in a workflow. One node might load a model, another might read your text prompt, and another might save the finished image. Connect nodes to pass results between those steps. Start with a workflow template to see nodes working together. You can run a template before learning how to add or connect nodes yourself. For a short explanation of how nodes fit into a complete workflow, read How ComfyUI works. The sections below cover node states, connections, controls, and menus in more detail. Comfy Core K-Sampler Node In the KSampler example, connections on the left provide inputs, settings inside the box control generation, and the connection on the right passes its result onward. You can change settings without writing code.
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

Most nodes accept input, do a job, and produce output. A Load Checkpoint node, for example, loads a model that other nodes can use. A Save Image node receives the final image and saves it. The connecting lines are called links.

Different Node States

Node States In ComfyUI, nodes have multiple states. Here are some common node states:
  1. Normal State: The default state
  2. Running State: The running state, typically displayed when a node is executing after you start running the workflow
  3. 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
  4. 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. ComfyUI Node Links 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: ComfyUI Node Data Types As ComfyUI evolves, we may expand to more data types to meet the needs of more scenarios.

Connecting and Disconnecting Nodes

ComfyUI Node Connecting 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 link

Node Appearance

Node 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

Node Badges We provide multiple node badge display features, such as:
  • Node ID
  • Node source
Currently, Comfy Core nodes use a fox icon for display, while custom nodes use their names. This way you can quickly understand which node package a node comes from. You can set the corresponding display in the menu: Badge Settings

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: 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
In this menu, besides appearance-related settings, the following menu operations are important:
  • 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
Below is a comparison of the Never and Bypass modes: Never vs Bypass Mode 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 Never mode causes subsequent nodes to show errors because they don’t receive any input data
  • The node set to Bypass mode still allows subsequent nodes to receive unprocessed data, so they load the output data from the first Load LoRA node, 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: Node Input/Output Context Menu 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 Suggestion Count

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
Of course, these functions can also be found in the right-click menu of the corresponding node. The node selection toolbox just provides a shortcut operation. If you want to disable this feature, you can turn it off in the settings. Disable Node Selection Toolbox

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