# WAS Node Suite v3: 518 ComfyUI nodes with nothing installed behind them

> The v3 rebuild of WAS Node Suite drops 20 default packages and all git-URL installs, moving heavy work onto ComfyUI's own torch device and pushing the remaining dependencies behind 22 opt-in feature groups. The install is a git clone, and the pack never runs pip on its own.

**WASasquatch/was-node-suite-comfyui** — WAS-NS v3 Reborn; Tools for image processing, filters, masking, text, logic, numbers, latents, files, 3D scenes, and animation.

- Repository: https://github.com/WASasquatch/was-node-suite-comfyui
- Stars: 1,877 · Forks: 308
- Language: Python
- License: MIT
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/wasasquatch-was-node-suite-comfyui

## What the v3 rebuild actually changed

WAS Node Suite has been around since 2023 on Civitai and on GitHub, and the README calls it among the first packs to put hundreds of nodes into users' hands. Version 3 is a rebuild rather than a feature release, and the README puts the change in a table.

Read as a table, the v2 to v3 comparison runs: nodes from 220 to 518, default packages installed from 20 to 0, installs from a git URL from 3 to 0, and optional node groups from none to 22 keys in config.yaml with 8 of them off out of the box.

So the headline numbers are 518 nodes across images, filters and colour, masking, text and prompts, logic and flow, numbers, latents and sampling, files, animation and video, with zero packages installed by default and nothing fetched from a git URL.

The third-party row is the one that gets a real answer. In v2, the pack carried SAM and BLIP in the repository, 75 files of Python. In v3 it carries 143 files instead, and the README enumerates what they are: browser libraries, fonts, eight face cascades, three sets of weights and two networks, each with its licence, listed in docs/THIRD_PARTY.md. Bundled binaries with their licences beside them, not installed wheels, is the pattern that replaced the pip installs.

The change with the most practical effect is that face detection, gradient maps, background removal, frame interpolation, tiling textures, colour matching, levels, palettes, masks and deconvolution now run on torch, on ComfyUI's own device. That is why OpenCV, numba, rembg, timm, scipy, scikit-image, scikit-learn and matplotlib are not installed. Everything else a node reaches for either ships with ComfyUI or belongs to an optional group.

## Installing without letting the pack install anything

The recommended route is ComfyUI Manager, where you search for WAS Node Suite v3 and install. The manual route is a clone into the custom_nodes directory.

```sh
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
```

The requirements are ComfyUI 0.14.0 or newer and Python 3.10+, and the manifest agrees, since pyproject.toml sets requires-python to >=3.10 and version 3.5.3, with an empty dependencies list.

The README then makes an unusual promise, and it is the kind of promise that changes how you audit a custom node pack. That is the whole install, and nothing is installed, downloaded or built, now or on any later start. The pack never runs pip on its own.

The first start costs a second or two more than the rest. Your config.yaml, the state database and the wildcard, LUT and view-extension folders are written under the was-node-suite folder in your ComfyUI user directory, and Python compiles the pack to bytecode. An update recompiles, so that cost returns each time you pull.

One optional group wants packages and ships off: document_export, which lets Save DOC write .docx, .odt and .pdf. The README gives the install for a portable ComfyUI install as a separate step you run yourself.

```sh
python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\was-node-suite-comfyui\requirements\document_export.txt
```

Then you set document_export: true under features: in config.yaml. The pyproject.toml confirms the shape of this, with document_export pulling in python-docx, odfdo and xhtml2pdf, and an all extra that contains the same three.

## Opening a workflow saved before v3

Backward compatibility is handled in detail, which is unusual for a pack this size, and the README walks through it node id by node id.

No node id is renamed. Two nodes are now a different node under the same menu name, two ids are gone with another node doing the job, and ComfyUI offers to swap all four. Five ids are removed with nothing in their place. Widgets, slot counts, three menu labels and five results changed, and a workflow saved before v3 is carried across as it loads.

213 of the 220 old node ids are unchanged. Four are retired onto replacements. Image Crop Face comes back as the same name on a replacement running the same eight cascades, and Image Gradient Map comes back as the same name on a replacement running the same gradients. Those two ran through OpenCV in v2, which the pack no longer installs, and their replacements run on ComfyUI's own device with nothing installed. Load Lora comes back as Lora Loader (Advanced) with the same five inputs and three outputs, and Number to Text comes back as Number to String with the same NUMBER, INT and FLOAT inputs and the same STRING output.

The five removed ids are the part that will break a workflow, and each opens as a red box where it stood with its links dropped. Image Send HTTP posted an image batch to an address, and the advice is to write the batch with Image Save. Text Random Prompt read a prompt from lexica.art, and the advice is to write the prompt or use Prompt Library. True Random.org Number Generator drew a seed from RANDOM.ORG, replaced by Random Number or Seed. WASDownloadImage read an image from a web address, replaced by saving the file and using Load Image. And WASNoodleSoupPantryRefresh downloaded the Noodle Soup pantry, with the note that the pantry now ships with the pack and seeds the database on first start, so there is nothing to do.

The privacy consequence of those removals is worth stating plainly. The pack now makes no outbound request of its own from any node.

## Widgets, slots and the other migration details

The v3 migration also changes the shape of nodes rather than their identity, and the README is specific about the changes so that a saved workflow does not silently behave differently.

Thirty-six dropdowns reading true and false are now checkboxes, and fourteen nodes that stopped at four to eight slots now declare twenty-four or twenty-six, drawing one empty slot below the last one filled. Saved settings are read back onto the new widgets and everything wired stays wired. The three batchers each gain a count output below the one they had. Image Save's prefix_as_filename is now overwrite_mode, ticked where it read true.

The four retired ids need one action from you. Each one opens listed in ComfyUI's missing-node dialog, and the README says to tick it and press the replace button, and the node comes back in place. If you leave the dialog, it stays missing. The old name still finds its replacement in the Add Node search, so the fix is discoverable either way.

One node changes shape in a bigger way. Three Custom Material now takes a module file, its javascript box is gone, and the node picks a .js or .txt module from the ComfyUI input folder or from a folder under paths.allow_read, with the module's header naming the textures it wants.

For a reader trying to work out what 518 nodes can do, the README points at NODES.md for the reference list and FEATURES.md for what each area does, with the new node count broken down by area. The largest new area is Three.js scenes with 43 nodes, followed by files, archives and documents with 28, logic and flow with 26, layers with 22 and bounds with 10.

## The feature groups that gate what actually runs

The optional group system is the mechanism that replaces the old unconditional installs, and it is the piece to understand before you start using the pack.

There are 22 keys in config.yaml, 8 of them off out of the box, plus a per-node disable group. The README says docs/CONFIG.md has every group, what it needs and what it gates. So the configuration is a two level switch: a feature group turns a capability on and off, and a per-node group lets you disable individual nodes inside a group.

The reason the groups exist is that some capabilities genuinely need third-party packages, and shipping them all by default was the v2 problem. The document_export group is the worked example, needing python-docx, odfdo and xhtml2pdf to let Save DOC write .docx, .odt and .pdf. Everything else is either a torch operation on ComfyUI's device or already present in ComfyUI.

The repository layout supports this. There is a config.example.yaml at the root, a requirements/ directory holding per-group requirement files such as document_export.txt, a requirements-optional.txt, and a requirements.txt. There is also a prestartup_script.py, which is how a ComfyUI custom node can run code before the UI starts, and a modules/ directory alongside nodes/.

The last push was on 2026-10-18, the repository is not archived, and the licence is MIT, which the README says has been the case since the first commit, permitting use, modification, distribution and paid services.

## Conclusion

Adopt WAS Node Suite v3 if you run ComfyUI and want a large set of image, mask, text, logic and 3D nodes without a pile of pip dependencies, since v3 installs nothing by default and does its heavy work on ComfyUI's own torch device. Do not adopt it expecting v2 workflows to load untouched, because five node ids were removed with no replacement and four others were retired onto different nodes. Verify first which optional groups you need in config.yaml, since document_export and the other 21 keys gate real functionality, and read NODES.md and FEATURES.md because 518 nodes is far too many to discover by browsing the menu.

## FAQ

### How do I install WAS Node Suite v3 for ComfyUI?

The recommended route is ComfyUI Manager, searching for WAS Node Suite v3. Manually, clone the repository into the ComfyUI custom_nodes directory with git clone https://github.com/WASasquatch/was-node-suite-comfyui.git. It requires ComfyUI 0.14.0 or newer and Python 3.10 or later.

### Does WAS Node Suite v3 install any Python packages?

No. The README says nothing is installed, downloaded or built, and the pack never runs pip on its own. Packages are only needed for optional feature groups, such as document_export with python-docx, odfdo and xhtml2pdf, which you install yourself and then enable in config.yaml.

### What happened to my old ComfyUI workflow when I moved to WAS Node Suite v3?

213 of the 220 old node ids are unchanged and workflows carry across as they load, but five ids were removed with no replacement and open as red boxes: Image Send HTTP, Text Random Prompt, True Random.org Number Generator, WASDownloadImage and WASNoodleSoupPantryRefresh. Four others were retired onto replacements, which ComfyUI offers to swap from its missing-node dialog.

### How many nodes are in WAS Node Suite v3 and what do they cover?

The pack contains 518 nodes for ComfyUI, covering images, filters and colour, masking, text and prompts, logic and flow, numbers, latents and sampling, files, animation and video. The README points at NODES.md for the reference and FEATURES.md for what each area does.

## Sources

- [Issues](https://github.com/WASasquatch/was-node-suite-comfyui/issues)
- [License: MIT](https://github.com/WASasquatch/was-node-suite-comfyui/blob/main/LICENSE)
- [README](https://github.com/WASasquatch/was-node-suite-comfyui/blob/main/README.md)
- [WASasquatch/was-node-suite-comfyui on GitHub](https://github.com/WASasquatch/was-node-suite-comfyui)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/wasasquatch-was-node-suite-comfyui
