An alternative manager for custom_nodes that bypasses the restrictions of the official ComfyUI Manager. Built for users and node developers who are affected by false-positive security flags from Comfy Registry.
In 2024β2025, Comfy Registry introduced automated YARA-based security scanning for custom nodes. The scanner frequently produces false positives β legitimate production code (e.g., subprocess for ffmpeg, aiohttp routes for widget APIs, huggingface_hub.snapshot_download) gets flagged as suspicious.
When a node version is flagged:
- It receives the
NodeVersionStatusFlaggedstatus. - The version is hidden from "Select Version" in the official ComfyUI Manager.
- Users remain stuck on outdated versions even when authors release critical fixes.
- The best node developers suffer, while the Comfy.org team refuses to change the policy.
This extension gives users control back. It manages custom_nodes directly through git and the GitHub REST API β bypassing Registry entirely. No flags, no hidden versions, no artificial restrictions.
- Scans every folder in
custom_nodesacross all configured search paths. - Shows git branch, commit hash, version, dirty state, stash count, and requirements presence.
- Detects non-git installs and folders that aren't nodes at all.
- Install any node from a Git URL (HTTPS or SSH).
- Optionally pin to a specific tag, branch, or commit.
- Automatically runs
pip install -r requirements.txtwhen present.
- Browse up to 15 most recent tags of a node.
- Tag list is fetched from the GitHub REST API (with local git fallback).
- Nothing is hidden β including versions flagged by Comfy Registry.
- Click any version to check it out instantly. Or pull the latest on the current branch.
- Auto-stash: local uncommitted changes are preserved before switching.
- Uses
git ls-remote(git protocol, no API rate limits). - Parallel checks via a thread pool β 200 nodes in ~10β30 seconds.
- Cached for 6 hours.
- Filter by "has update" with one click.
- Select multiple outdated nodes with checkboxes.
- One-click
Update N selectedrunsgit fetch + git pull --ff-onlysequentially. - Progress log shows
[2/5] node-name: git fetchin real time. - Failures don't block the rest β summary at the end.
- Every destructive operation (
Switch Version,Update) auto-stashes uncommitted changes. - View stash details: files with statuses, insertions/deletions, base commit.
- Restore or Drop any stash individually.
- If a node was installed via zip (no
.git), you can attach a GitHub remote. - Detects the repository URL from
pyproject.toml,metadata.json, orREADME.md. - Runs
git init+remote add+fetch+reset --softβ existing files are never overwritten. - After attaching,
Switch Versionand update checking work normally.
Checks in priority order:
- Git tag (
git describe --tags --exact-match) metadata.jsonpyproject.toml(viatomllib/tomli)__init__.pyβ__version__version.py,_version.pysetup.pypackage.jsongit describe(fallback)
Version badge shows source (e.g. v7.5 Β· tag) with tooltip explaining conflicts.
UI messages available in English, δΈζ, and Π ΡΡΡΠΊΠΈΠΉ β auto-detected from ComfyUI settings.
Search for Custom Node Manager in the Install Custom Nodes dialog.
cd ComfyUI/custom_nodes
git clone https://github.com/Raykosan/ComfyUI-Custom-Node-ManagerNo additional setup required. Dependencies (requests, tomli) are installed automatically on first launch.
- Python 3.10+
- git available in
PATH(already required by ComfyUI Manager itself) - Internet access to
api.github.comandraw.githubusercontent.com
Three ways:
- Top bar icon β enable
Show icon in top menuin Settings β Custom Node Manager. - Settings panel β Settings β Custom Node Manager β
Open Custom Node Manager. - Direct API β
http://127.0.0.1:8188/custom_node_manager/ping
- Open the manager β
π Rescanto indexcustom_nodes. - Click
β¬ Check updatesto see which nodes have new commits upstream. - Click the green
β¬ N updateschip to filter to outdated nodes only. - For single-node version switching:
Switch Versionβ pick a tag. - For bulk updates: tick checkboxes β
Update N selected. - When the task finishes, click
π Restart ComfyUIβ the page reloads automatically.
Without a token, GitHub API is limited to 60 requests/hour. Since we cache responses for 1 hour, this covers ~60 unique Switch Version dialogs. With a token: 5000 requests/hour.
To set up:
- Go to GitHub β Settings β Developer settings β Personal access tokens β Tokens (classic).
- Generate new token with no scopes (public read is enough).
- In ComfyUI: Settings β Custom Node Manager β
GitHub Token (optional, not used yet)β paste the token. - Restart ComfyUI.
Or set the GITHUB_TOKEN environment variable β it takes priority.
| Feature | ComfyUI Manager | Custom Node Manager |
|---|---|---|
| Version list source | api.comfy.org (Registry) |
Git tags + GitHub API |
| Flagged versions | Hidden | All visible |
| Update detection | Registry metadata | git ls-remote (free) |
| Node cache | Central JSON | Local per-installation |
| Batch update | Limited | Full support |
| Stash management | No | Yes |
| Attach git to zip installs | No | Yes |
| Works when Registry is down | Partially | Yes |
This extension does not contact api.comfy.org at all. It works with pure git and GitHub.
Install git: git-scm.com/downloads. On Windows, make sure "Add to PATH" is checked during installation.
You've hit the 60 req/hour limit. Options:
- Wait until the reset (visible in the error tooltip).
- Set a
GITHUB_TOKEN(see above). - The extension automatically falls back to local tags.
The node was installed via zip (not git clone). Click Attach Git Remote β the extension will try to detect the repository URL from metadata. If not found, you can paste it manually.
The folder doesn't look like a ComfyUI extension (no NODE_CLASS_MAPPINGS, no PromptServer routes, no import comfy). If you're sure it's a valid extension, please open an issue with the folder's __init__.py contents.
If you switch versions, then Restore a stash made against a different version, git may produce merge conflicts. The stash is not deleted in this case β you can resolve conflicts manually via git stash pop in a terminal.
- Scanner with git metadata
- Task queue with progress
- Install / Switch Version / Remove
- Custom dialogs (no native browser popups)
- i18n (EN / ZH / RU)
- Auto-stash + stash UI
- Update checking via
git ls-remote - Batch updates with checkboxes
- GitHub API for remote tags
- Attach Git Remote for zip installs
- Extended version detection
- Sidebar tab in the "Other" category
- Fuzzy search
- Diff preview before switching
Issues and pull requests are welcome. For major changes, please open an issue first to discuss.
Special thanks to the ComfyUI community for the continuous stream of reports about false-positive flags from Comfy Registry.