Any To Any
The type-checking escape hatch (with the warning label that earned it)
- any
- *
Any To Any does one thing: takes a value of any type and lets you plug it into a socket of any type, regardless of whether ComfyUI thinks they match. It's a pass-through at runtime - the value goes in and comes out untouched - but it defeats the graph's entire type system on the way through.
And the pack's README is refreshingly honest about what that buys you:
"WARNING: this is very hacky and disables all type checking in comfy so if you send in anything wrong you will not get any warnings and behaviour might be pretty random depending on what node you connect to."
So: this is the node you use when you're stuck, not the node you build a workflow around.
How it works
The trick is in how ComfyUI validates connections. The node's input and output are declared with a special AnyType whose equality check always returns True, so the graph's connection validation sees "compatible" for every possible wire. The runtime run() method just returns its input unchanged. Input any → output * (wildcard).
The honest use cases
- Unblocking a weird edge case. Some third-party node advertises a type ComfyUI can't reconcile, and you're 100% sure the actual data is fine. Slap Any To Any between them and move on with your day.
- Debugging a type error fast. Not sure why a wire won't connect? Any To Any tells you whether the problem is the data or the connection validation - temporarily, so you can see the real issue.
Where people get burned
The README's warning is earned, and the community has the scars to show for it. The r/comfyui thread "Please Stop using the Anything Anywhere extension" (+96, 87 comments) is the canonical argument against exactly this pattern: wildcard nodes make workflows impossible to debug because the graph stops telling you when you've wired something wrong. A silent wrong-type connection produces a wrong image, not an error - and you'll chase the prompt for hours instead of the wire.
Two specific traps:
- It doesn't work with primitive nodes or reroute nodes (the README says so directly). Those have their own type-resolution paths, so the escape hatch simply doesn't apply there.
- "Random behaviour" is the failure mode. If you connect a LIST where an IMAGE belongs, you won't get an error - you'll get garbage or a crash deep in some other node, and the error message will point nowhere near here.
The takeaway
This pack already gives you the honest alternative: the Axis To X converter nodes, which exist precisely so you can convert between types explicitly instead of ignoring the mismatch. If you need an arbitrary value to become a concrete type, use those. Reserve Any To Any for the genuinely unfixable edge case, and delete it once the workflow runs - leaving it in place is how workflows rot.
Installing it
Part of qq-nodes-comfyui:
cd ComfyUI/custom_nodes
git clone https://github.com/kenjiqq/qq-nodes-comfyui
Restart, or install via ComfyUI Manager (qq-nodes-comfyui). Found under QQNodes/Utils. No pip requirements - it's plain Python.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| any | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |