Nodes/ComfyUI-Creepy_nodes/Custom Node Manager (Creepybits)
ComfyUI Node

Custom Node Manager (Creepybits)

A Lint Check for Your Node Collection

By Creepybits·Created about a year ago·Updated 2 months ago· 32
Custom Node Manager (Creepybits)
    • node_info
    scan_mode
    directory
    scantrue

    Don't confuse this with ComfyUI Manager - the thing that installs packs. Custom Node Manager is a diagnostic tool from Creepybits that inspects a folder of Python files and reports which ones are valid custom nodes and what libraries they import. It's the "lint pass" you run when a node pack won't load and you're not sure why. It won't fix your problems, but it will tell you exactly which file is broken and what dependencies it wants.

    The three inputs

    • scan_mode - a dropdown with two modes:
      • Validate Python: checks each .py file for the NODE_CLASS_MAPPINGS dict, the one thing ComfyUI requires for a file to register as a node. Valid files get "is valid!", broken ones get a clear message.
      • Check Libraries: parses each file's source and lists every import - an instant "what does this need installed?" answer, and a fast way to draft a requirements.txt.
    • directory - the folder to scan. Leave it blank and it scans its own pack's assets/nodes/ folder.
    • scan - the run switch (defaults to true).

    Output is a single node_info string: a JSON report of filename → result for every .py file in the target directory.

    When it earns its keep

    The single most common ComfyUI failure is a ModuleNotFoundError from a node that imports a library you don't have - the ecosystem's dependency-hell problem made personal. This node is built for exactly that moment: point it at the offending pack's folder, run it in "Check Libraries" mode, and you get the list of imports to compare against what's actually installed. It's the fastest way I know to answer "which requirement is this missing?"

    The "Validate Python" mode is more of a developer's tool - it catches files that simply aren't registering as nodes, which is usually a missing NODE_CLASS_MAPPINGS. If you write your own nodes, it's a decent smoke test before you restart ComfyUI for the tenth time.

    One thing to know before you scan

    Reading the source: in "Validate Python" mode the node executes each module it scans (spec.loader.exec_module(module)) so it can check for the mappings attribute. That's fine for your own code, but it means scanning a folder of untrusted or half-broken nodes runs their import-time code - the same attack surface the ecosystem keeps warning about. Scan your own packs and known-good repositories, not random downloads. And when a file has a syntax error, the node catches it and reports the traceback rather than dying - which is exactly what you want from a diagnostic.

    Installing it

    It's part of the Creepybits pack, installed all at once:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Creepybits/ComfyUI-Creepy_nodes.git
    

    Restart ComfyUI, or grab "Creepy" via ComfyUI Manager. No model downloads, nothing extra to configure. Keep in mind it's a scanner - it reads and reports, it doesn't install or uninstall anything. For that, you still want ComfyUI Manager.

    CategoryCreepybits/Utilities

    Inputs (3)

    NameTypeDefaultDescription
    scan_modeCOMBO2 options: Validate Python, Check Libraries
    directorySTRING
    scanBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    node_infoSTRING