Nodes/ComfyUI-FrameUtilitys/Git Repository Installer 📦
ComfyUI Node

Git Repository Installer 📦

The node that installs other nodes from inside your graph

By lum3on·Created about a year ago·Updated 2 months ago· 16
Git Repository Installer 📦
    • status_message
    • success
    • installed_path
    github_urlhttps://github.com/username/repo.git
    install_requirementstrue
    force_reinstallfalse
    custom_folder_name

    GitInstaller is the odd one out in the Frame Utilitys pack - a pack of video-editing nodes that happens to ship a node for installing other packs, straight from the graph. No terminal, no Manager search, no copy-pasting. You type a GitHub URL, hit run, and it clones the repo into ComfyUI/custom_nodes, pip-installs its requirements, and hands you a status message. If you've ever pasted a friend's workflow and spent twenty minutes hunting down missing nodes, you can see the appeal: a self-installing graph.

    How it actually works

    Behind the scenes it's just subprocess running git clone into the custom_nodes directory (it assumes that's the parent folder of the pack itself), then pip install -r requirements.txt using the same Python interpreter ComfyUI is running under. That's a real detail: because it uses sys.executable, it installs into your ComfyUI environment, so it works with the embedded Python on Windows standalone builds, not just system Python.

    It's pickier about URLs than you might expect. Only github.com URLs pass validation - HTTPS or [email protected]: SSH - so no GitLab, no self-hosted, no raw tarballs. It also tidies the URL for you: pasting a .../tree/main/ link gets cleaned up and .git is appended, so a browser-copied URL works.

    The inputs and outputs that matter

    • github_url - the repo you want. Default is a placeholder, so it's a required real value.
    • install_requirements - true by default; it runs pip on the repo's requirements.txt. If the file is empty or comments-only, it says so and skips, rather than erroring.
    • force_reinstall - false by default. If the folder already exists and this is off, you get "Repository already exists" and nothing happens. Flip it on and it deletes the existing folder before re-cloning, so be sure before you enable it.
    • custom_folder_name - optional; overrides the folder name derived from the URL.

    Outputs: status_message (a string you can read in the UI), success (a boolean you can wire into conditional logic), and installed_path (the absolute path the repo landed in).

    The honest take

    ComfyUI Manager already does this, and it does it with more safety rails. Installing arbitrary code from inside the graph is exactly the attack surface that's burned this community before - malware has arrived through custom node installs, and a node that clones and executes whatever URL you feed it is that same mechanism with the guardrails removed. It's a handy tool for people who hate terminals, and genuinely useful if you're building a "set up this machine" workflow. But treat it like the foot-gun it is: only point it at repos you've actually read. Worth knowing too: it can't hot-reload. The node itself tells you to restart ComfyUI before the newly installed pack shows up, which slightly undercuts the "no terminal, no restart" fantasy.

    Troubleshooting

    • "Repository already exists" - the folder's there from a prior install. Enable force_reinstall (and accept it wipes the folder) or pick a custom_folder_name.
    • Clone fails / "Git is not available" - git must be on your system PATH. On Windows standalone installs it often isn't; installing Git for Windows fixes it.
    • URL rejected - it must be a GitHub URL, HTTPS or [email protected]:. Double-check you didn't paste a GitHub user profile page.

    Installing this pack

    It's a standard install: in ComfyUI Manager search "ComfyUI-FrameUtilitys" (or "Frame Utility"), or clone it yourself:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lum3on/ComfyUI-FrameUtilitys
    

    Restart ComfyUI and you're done. No model downloads, and the pack's requirements.txt is pure comments - it leans entirely on the torch/torchvision/numpy/Pillow that ComfyUI already ships.

    Categoryutils/git

    Inputs (4)

    NameTypeDefaultDescription
    github_urlSTRINGhttps://github.com/username/repo.git
    install_requirementsBOOLEANtrue
    force_reinstallBOOLEANfalse
    custom_folder_nameoptSTRING

    Outputs (3)

    NameTypeDescription
    status_messageSTRING
    successBOOLEAN
    installed_pathSTRING