Motorway 6x7
Six in, seven out, one free read lane
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- ANY_(E)
- ANY_(F)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
- ANY (F)
- ANY (G)
Motorway 6x7 is the six-input fan-out: six values in, seven ANY outputs out, plus the continuing MOTORWAY ππ¨ wire. It's from the agilly1989 Nodes/Motorways pack, and it's the stop you pick when six things arrive but seven things need to be handed off - one of which is a value that was written earlier in the route.
The 6x7 names the shape. Key slots are generated per output here, so you get seven lanes (A through G) even though only six inputs feed in. That means lane G is a pure read: no input wire, just a _key widget - type an existing key and ANY (G) returns that value. If an earlier stop parked the seed under "seed," lane G hands it back without you reconnecting a thing.
How it works
Same engine as every Motorway node. The motorway is a custom class that behaves like a dict, keys stored under sha256 hashes. When the node runs it pops the incoming MOTORWAY ππ¨, stores each connected input under its _key widget value, clones the bag, reads one key per output slot, and passes the bag forward. Any key written at an earlier stop is readable at any later stop; a reused key overwrites the old value rather than merging - the README's one hard rule.
That extra G lane is the reason to pick this over a 6x6. With a 6x6 every lane is a matched write-and-read; with a 6x7 you get the same six round-trip lanes plus a free tap into anything the route already carries. It's the "I need six fresh values and also want to broadcast one old value" node.
The inputs and outputs that matter
Required MOTORWAY ππ¨ input (Motorway-type only). Six optional inputs ANY_(A) through ANY_(F) with _key widgets. Outputs: MOTORWAY ππ¨, ANY (A) through ANY (G). The AβF lanes write-and-read; G is read-only. Empty keys idle their lane, so you can leave the G key blank if you don't need the tap.
Installing it
ComfyUI Manager - search ComfyUI_agilly1989_motorway - or clone:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI. No requirements.txt, no model downloads; it's pure Python on ComfyUI's own comfy_types. One-person beta project - the README opens with a straight-up "if things break it's because I broke it" - so expect occasional churn if you update.
Common issues
KeyError: Key: 'x' doesn't exist in motorway (README form: 'MotorwayClass' object has no attribute 'hash_') means an output read a key nothing has written - check spelling and case; keys are exact strings. The G lane is where beginners trip, because it looks like a normal input but has no input wire - it only reads. And keep the overwrite rule in mind: if a later stop reuses one of your six write keys, the earlier value is silently replaced.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| ANY_(A)opt | * | β | |
| ANY_(B)opt | * | β | |
| ANY_(C)opt | * | β | |
| ANY_(D)opt | * | β | |
| ANY_(E)opt | * | β | |
| ANY_(F)opt | * | β | |
| ANY_(A)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β | |
| ANY_(C)_keyopt | STRING | β | |
| ANY_(D)_keyopt | STRING | β | |
| ANY_(E)_keyopt | STRING | β | |
| ANY_(F)_keyopt | STRING | β | |
| ANY_(G)_keyopt | STRING | β |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |
| ANY (F) | * | β |
| ANY (G) | * | β |