- New: Clicking a node’s name now copies its GitHub repository URL to the clipboard (label styled as a link with a hand cursor).
A simple desktop tool (Tkinter) to manage ComfyUI custom nodes: clone, update (git pull), switch to a specific branch, install requirements, and delete selected nodes—all with logs and a scrollable list.
- Clone node from a GitHub URL into
ComfyUI/custom_nodes/. - Update selected repositories via
git pull. - Install requirements from each node’s
requirements.txtusing the embedded Python (python_embeded/python.exe). - Delete selected nodes safely (restricted to
ComfyUI/custom_nodes/, with confirmation). - Switch to branch: enter a branch name and update the selected node to that branch (
git fetch --all --prune+git switchor create a tracking branch if needed). - Show current branch next to each node's name (displayed in its own column after the name).
- Copy GitHub URL on click: click a node’s name to instantly copy its GitHub repo URL to the clipboard.
- Scrollable node list and persistent console panel (split view) so logs remain visible when resizing the window.
Additionally, a convenience launcher script run_CustomNodeUpdater.bat is included to start the app quickly on Windows.
- Copy
CustomNodeUpdater.pyandrun_CustomNodeUpdater.batinto the root of your ComfyUI folder — the same directory that contains thepython_embeded/folder. - Ensure
python_embeded/python.exeexists (or update the path in the script if your layout differs). - Make sure Git is installed (or set a full path/alias if needed).
- Git available in your system PATH.
- Python: the script uses an embedded interpreter at
python_embeded/python.exefor installing requirements. Adjust paths if your setup differs. - A standard ComfyUI folder structure with
ComfyUI/custom_nodes/.
- Place this repository next to (or inside) your ComfyUI setup so that
ComfyUI/custom_nodes/is reachable by the script. - Ensure
python_embeded/python.exeexists (or update the path in the script). - Make sure Git is installed.
- (Windows) Double-click
run_CustomNodeUpdater.batto launch; or run the script via Python.
-
Update database – scans
ComfyUI/custom_nodes/for Git repos and lists them. -
Clone node – paste a GitHub URL and click CLONE NODE.
-
Select repositories (checkboxes) and choose:
- GIT PULL SELECTED
- INSTALL REQUIREMENTS TO SELECTED
- DELETE SELECTED NODES (permanent; only inside
custom_nodes/)
-
Switch to branch – in a row’s input field, enter a branch name (e.g.,
main,dev,feature-x) and click UPDATE TO BRANCH. -
Copy GitHub URL – click on the node’s name to copy its repository URL to the clipboard (confirmation appears in the log panel).
Note: The current branch for each node is displayed next to its name, so you can quickly see what branch is active.
- The app runs
git fetch --all --prune, then triesgit switch <branch>. - If the local branch does not exist, it creates it tracking
origin/<branch>. - This preserves local changes; it does not hard-reset to
origin/<branch>.
If you prefer a force update (local branch exactly equals
origin/<branch>), you can modify the function to usegit checkout -B <branch> origin/<branch>.
- Deletions are confirmed and limited to
ComfyUI/custom_nodes/to avoid accidental removal outside this folder. - Logs are shown in a console panel for transparency.
- Git not found: ensure Git is installed and accessible in PATH.
- requirements.txt not found: some nodes don’t need dependencies; the installer will skip them.
- Branch not found: verify the branch name exists on the remote.
- Clipboard not working: some desktop environments may restrict clipboard access; check OS permissions.
MIT License — see LICENSE file for details. This allows use, modification, and distribution with minimal restrictions.