❌ AnyBus - UniversalBus v2 /*
A universal bus for ComfyUI that actually stays readable
- bus
- * 01
- * 02
- * 03
- * 04
- * 05
- * 06
- * 07
- * 08
- * 09
- * 10
- * 11
- * 12
- * 13
- * 14
- * 15
- * 16
- * 17
- * 18
- * 19
- * 20
- * 21
- * 22
- * 23
- * 24
- bus
- * 01
- * 02
- * 03
- * 04
- * 05
- * 06
- * 07
- * 08
- * 09
- * 10
- * 11
- * 12
- * 13
- * 14
- * 15
- * 16
- * 17
- * 18
- * 19
- * 20
- * 21
- * 22
- * 23
- * 24
ComfyUI has a wiring problem: the more nodes you chain, the more the canvas becomes a plate of spaghetti, and at some point you're spending more time tracing wires than making images. The standard answer is a bus node - one fat bundle of connections that carries a dozen signals from one side of your graph to the other. AnyBus v2 is MaraScott's take on that, and its profile system is the thing that separates it from the pack.
The pitch is simple. AnyBus has up to 24 AnyType slots (plus a bus connection that links buses together), and because the slots are AnyType (* 01 through * 24), they'll carry an image, a model, a conditioning, a string, whatever - no cast nodes, no type conflicts. You connect a bunch of outputs into an AnyBus on the left side of the graph, and a matching AnyBus on the right side fans them back out to where they're needed. One line of sight, no ten-kilometer wires.
How the magic works
Two behaviors make this usable rather than cursed.
Native broadcast. Any input on an AnyBus acts like a "Use Everywhere" node - an unconnected input elsewhere can pick up a value that's been put on the bus, without an explicit wire. That's the part to be careful with: the KB's ecosystem notes that "Anything Anywhere"-style nodes got a whole community backlash for making graphs impossible to debug. AnyBus keeps the explicit bus chain and the visible slots, so it's more disciplined than full "use everywhere," but the same debugging rule applies - if a value shows up somewhere you didn't wire, check the bus.
Profiles. This is the v2 headline and the author's own framing for it: "dyslexia-friendly." Bus nodes connected in the same flow (through the bus input/output) share a profile name, and editing one updates the others. The default profile is called default; connect your default bus into a flow named main and the whole chain renames to main. Connect a differently-named flow and the connection is refused. That refusal is a feature - it stops two unrelated bus systems in the same workflow from bleeding into each other. You get multiple independent flows in one graph, and only buses with the same profile name ever sync.
What plugs in (and what doesn't)
The README is unusually explicit about reroute compatibility:
- Supported:
SetNode/GetNodefrom KJNodes, and "Reroute (rgthree)" from rgthree-comfy. - Not supported: ComfyUI's native Reroute (it won't pass a non-Any type through),
ReroutePrimitivefrom pysssss (loses the origin slot's name), and0246.CastReroute(undefined behavior, per the author).
If a reroute behaves oddly, this compatibility list is the first place to look - it's the pack's single most-asked-about gotcha.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/davask/ComfyUI-MarasIT-Nodes
Restart ComfyUI. Or ComfyUI Manager → search "MaraScott" → Install → restart. The current pack exports the modern class as MaraScottAnyBus_v2; the MaraScottAnyBusNode name here is the older registration of the same v2 design, kept so legacy workflows still load.
Verdict
For a big workflow, a bus is almost mandatory, and AnyBus v2 is a good one: no type casts, visible slots, and profile isolation that most bus nodes just don't offer. It won't replace rgthree's Context if that's your habit - but if you want the wires gone and your sanity intact, this is a legitimately nice way to get there.
Inputs (25)
| Name | Type | Default | Description |
|---|---|---|---|
| busopt | BUS | — | |
| * 01opt | * | — | |
| * 02opt | * | — | |
| * 03opt | * | — | |
| * 04opt | * | — | |
| * 05opt | * | — | |
| * 06opt | * | — | |
| * 07opt | * | — | |
| * 08opt | * | — | |
| * 09opt | * | — | |
| * 10opt | * | — | |
| * 11opt | * | — | |
| * 12opt | * | — | |
| * 13opt | * | — | |
| * 14opt | * | — | |
| * 15opt | * | — | |
| * 16opt | * | — | |
| * 17opt | * | — | |
| * 18opt | * | — | |
| * 19opt | * | — | |
| * 20opt | * | — | |
| * 21opt | * | — | |
| * 22opt | * | — | |
| * 23opt | * | — | |
| * 24opt | * | — |
Outputs (25)
| Name | Type | Description |
|---|---|---|
| bus | BUS | — |
| * 01 | * | — |
| * 02 | * | — |
| * 03 | * | — |
| * 04 | * | — |
| * 05 | * | — |
| * 06 | * | — |
| * 07 | * | — |
| * 08 | * | — |
| * 09 | * | — |
| * 10 | * | — |
| * 11 | * | — |
| * 12 | * | — |
| * 13 | * | — |
| * 14 | * | — |
| * 15 | * | — |
| * 16 | * | — |
| * 17 | * | — |
| * 18 | * | — |
| * 19 | * | — |
| * 20 | * | — |
| * 21 | * | — |
| * 22 | * | — |
| * 23 | * | — |
| * 24 | * | — |