Where they come from
Most custom nodes are published to the Comfy Registry, a public catalog of versioned node packages. The registry is what powers search and installation inside ComfyUI Manager, and it is where you publish your own package when it is ready to share. A package can contribute any combination of Python nodes that run on the server, frontend extensions that change the UI, workflow templates, and subgraph blueprints.Installing and managing
ComfyUI Manager is the recommended way to work with custom nodes. It searches the registry, installs packages along with their Python dependencies, updates or pins versions, disables packages without deleting them, and detects nodes missing from an imported workflow. Desktop builds include it; portable and manual installs may need it enabled first.Install Custom Nodes
Installing via ComfyUI Manager, Git, or a ZIP download, plus dependency installation.
ComfyUI Manager
Searching, updating, disabling, and troubleshooting node packages.
- Trust matters. Install packages you have reason to trust, and prefer ones that are actively maintained. The registry scans published nodes for malicious behavior such as arbitrary system calls, and marks the ones that pass with a verification flag.
- Dependencies can conflict. Two packages may want incompatible versions of the same Python library. If ComfyUI stops starting after an install, disable the newest package first. See custom node issues.
Building your own
If nothing in the registry does what you need, write it. A minimal node is a Python class with an input specification and a function, and you can extend from there into custom datatypes, lazy evaluation, node expansion, and frontend extensions.Develop Custom Nodes
Walkthrough, backend and UI APIs, datatypes, and packaging.
Publish to the Registry
Versioning,
pyproject.toml standards, CI/CD, and claiming an existing node.