Nodes/comfyui-ramdom-node/Random Node #39
ComfyUI Node

Random Node #39

What 'Random Node #39' Actually Is

By shinich39·Created 2 years ago·Updated 2 years ago· 5
Random Node #39
  • output0

If you googled "Random Node #39" and landed here, here's the short version: there's no second node to install. This page is the pack's old name for the same shuffle node that comfy.icu also indexes as Random Node - and the "39" is just the pack's repo suffix (comfyui-ramdom-node-39, which is itself a typo for "random"). The crawler couldn't even resolve a separate Python module for this entry (python_module comes back null), which is the tell: there was never a distinct class here, just a rename.

The pack ships exactly one node. Its class is DynamicRoutes, and it shows up in your ComfyUI utils menu as Dynamic Routes (the README has been through the same rename). The author's canonical home for the code is now shinich39/comfyui-dynamic-routes, so depending on which registry or workflow you came from, you may see any of these:

  • comfy.icu page: "Random Node #39" (this page)
  • GitHub repo: shinich39/comfyui-ramdom-node-39
  • Node class: DynamicRoutes, displayed as "Dynamic Routes"
  • Canonical repo today: shinich39/comfyui-dynamic-routes

What the node does

It's a virtual pass-through that randomly reshuffles the order of the wires running through it every time you queue a prompt. Wire several upstream sources (LoRA loaders, prompt branches, sampler setups) in and the same number of targets out, and each Queue produces a fresh random permutation of which source feeds which target. The Python side is just a wildcard * in / output0 out; all the logic lives in frontend JavaScript, which watches your connections, grows matching input/output slots, and on promptQueued disconnects, Fisher-Yates-shuffles, and reconnects everything.

Install

Same pack, same trivial install - no models, no requirements.txt, no pip, no API key.

cd ComfyUI/custom_nodes
git clone https://github.com/shinich39/comfyui-ramdom-node-39

Then restart ComfyUI. In ComfyUI Manager, search "ramdom," "random node," or "dynamic routes" - the pack is listed under more than one name across registries, which is precisely how people end up on this page.

Practical gotchas

  • Don't install twice. If Manager shows you both "random node" and "dynamic routes" entries, they're the same pack; pick one or you'll confuse your own workflows.
  • Old graphs reference this name. When a workflow complains about a missing "Random Node #39," the node is present in your install - it just renders as Dynamic Routes now. Same behavior, new label.
  • It shuffles on every queue, with no toggle or seed. Want to keep the current wiring? Bypass or delete the node. There's no "pin this permutation" setting.
  • Frontend-only means frontend-fragile. It hooks LiteGraph and the promptQueued event, so a ComfyUI frontend update (the Nodes 2.0 overhaul broke several JS-heavy packs) can silently stop it shuffling.

This is a genuinely tiny utility from a solo dev who publishes a lot of small ComfyUI micro-packs - the kind of thing you install for one specific workflow, not a pillar of your setup. If your goal is just random prompts or random LoRAs, a prompt randomizer or Inspire Pack is the more mainstream route. This node is for randomizing the wiring: which branch feeds which target, rerolled every time you hit Queue. For the fuller write-up on the mechanism and troubleshooting, see the Random Node page - it's the same node.

Categoryutils

Inputs (1)

NameTypeDefaultDescription
*

Outputs (1)

NameTypeDescription
output0*