Everywhere
The ComfyUI node with no outputs that rewires your whole graph
- model
- clip
- vae
- positive
- negative
- latent_image
What it actually is
Everywhere (class name Anything Everywhere Extended) is not really a node. It has zero outputs, its Python execute() returns nothing, and nothing in the graph depends on it - so ComfyUI's scheduler never runs it. What it is instead is a plugin-shaped handshake with cg-use-everywhere (UE): you plug in the values you're tired of redrawing - model, clip, vae, positive, negative, latent, seed, a blacklist string - and UE splices those links into every matching input in the graph when you hit Queue.
That's the whole pitch: fewer wires. If you have a three-stage upscale chain and you've drawn the same VAE to six nodes, this is the fix.
Be aware that this whole idea is the single most argued-about convenience in ComfyUI. The counter-movement has a name - a post titled "Please Stop using the Anything Anywhere extension" (+96, 87 comments) arguing that type-erasing, wire-hiding broadcasters make a graph impossible to debug. The counter-argument is equally blunt: "I just can't stand messy noodles. I need to see the connections." Both are right. Broadcast the boring infrastructure, keep the interesting wires explicit.
Why a dedicated node instead of the stock one
UE decides what's a broadcaster by type string: is_UEnode() matches anything whose type starts with "Anything Everywhere". All the actual rewiring happens in UE's JavaScript, so this node's only job is to exist and carry links with the right names - and the names are the point. When one broadcaster carries two inputs of the same type, UE falls back to matching input names. On the stock node both conditioning slots get labelled CONDITIONING and match nothing, so you're hand-renaming them on every workflow. Here the slots are literally declared positive and negative, which is what a KSampler or SamplerCustom is looking for.
Two more fights explain why this node ships a .js file. First, UE normally manages a broadcaster's inputs: it rewrites unconnected slots to the wildcard type labelled "anything", then collapses the leftovers into one spare slot - wiping a fixed named schema the moment you drop the node. This pack sets UE's fixed_inputs flag, installed as an accessor so UE's wholesale replacement of the properties object can't clobber it, and stamps each input's label to its own name so UE stops relabelling slots to whatever you just plugged in.
Second, routing: instead of UE's default type matching, each slot is switched to name-based matching with substring semantics. seed reaches noise_seed. blacklist reaches blacklist_tags. That's the design, not a quirk.
The inputs that matter (and there are no outputs)
Everything is optional, so you wire only what you want broadcast:
seed- an INT. This is the one you'll actually use. Everyseedandnoise_seedinput in the graph gets one value, which is how you get "one seed, five samplers" without five wires.model,clip,vae- the classic trio for a workflow with a pile of loaders and refiner passes.positive/negative- CONDITIONING, kept apart by name. This is the entire reason the node exists.latent_image- for the graphs where half the canvas is fed by one latent.blacklist- a STRING socket that carries a blacklist out to everyblacklist-named input (e.g.blacklist_tagson FilterTags/ProcessTags). It's data being broadcast, not a UE setting - and it's the best illustration of why name matching matters: STRING is the most common input type in any graph, so a type-matched string broadcast lands in every unconnected text box in your workflow.
No outputs, ever - and that's fine. UE strips the node from the submitted prompt entirely.
Install
ComfyUI Manager is the easy path: search ComfyUI-Alchemine-Pack and install. Do the same for Use Everywhere (the cg-use-everywhere pack) - this node does nothing without it.
Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/alchemine/comfyui-alchemine-pack
cd comfyui-alchemine-pack
pip install -r requirements.txt # one line: python-dotenv>=1.0.0
Then restart ComfyUI. No model downloads, no keys - the pack's optional .env only matters for its API, Grok and Danbooru nodes. It's GPL-3.0 and declares Python 3.12+.
Where it bites
Nothing happens at all. Usually that means UE isn't installed or didn't load. There is no fallback behaviour in the Python - the node is inert without UE's frontend.
You're on an old UE. UE version 7 (August 2025) is the release that works with ComfyUI's new frontend. On a mismatched pair, expect breakage rather than a clean failure.
A fresh "anything" slot appears every reload. That's a real UE bug from the UE 5/6 era - the fix was updating UE, and this node additionally pins its inputs so its named schema can't get eaten.
Don't rename the node. The class id has to keep starting with Anything Everywhere, or UE stops recognising it.
It lands somewhere you didn't expect. Matching is a substring regex run against input names, across the whole graph. Broadcasting model is safe enough; broadcasting a string is how people discover they had an unconnected prompt box in a muted subgraph. Look at what UE highlights before you queue, not after.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| modelopt | MODEL | — | |
| clipopt | CLIP | — | |
| vaeopt | VAE | — | |
| positiveopt | CONDITIONING | — | |
| negativeopt | CONDITIONING | — | |
| latent_imageopt | LATENT | — | |
| seedopt | INT | — | |
| blacklistopt | STRING | — |
Outputs (0)
No outputs