Convert to Tuple
Build the tuple that loop nodes actually want
- input1
- TUPLE
If you've started building loop-style workflows in ComfyUI - the kind that use something like Easy-Use's "for loop" nodes to run a chunk of the graph repeatedly - you've probably hit a wall where a node wants a TUPLE and everything you've got is some other type. ConvertAny2Tuple exists for exactly that moment: it takes whatever's wired into it and forces it into a Python tuple.
This is one of the ComfyUI-LogicUtils conversion nodes, from GitHub user aria1th (publicly known as AngelBottomless, the trainer behind Illustrious XL). LogicUtils isn't a generation pack - it's general-purpose data plumbing, the sort of thing you reach for when you're building programmatic, control-flow-heavy graphs instead of a straight prompt-to-image pipeline. It's a genuinely niche corner of the ComfyUI ecosystem: a r/comfyui guide to loop workflows built around this exact node family noted there's "very little documentation, and not a lot of use-cases for most of it" - which tracks with the pack's own README admitting "proper documentation is being prepared, however there are too many nodes." If you're using this node, you're already past beginner territory and building something with real logic in it.
How it works
The input, input1, is typed as * - ComfyUI's wildcard type, meaning it'll accept a connection from basically any other node's output. Whatever value arrives gets converted into a Python tuple and comes out the other side as a TUPLE-typed output. That output type matters specifically because some nodes - loop constructs being the main example - require a TUPLE input to carry a bundle of values through iterations, and most of ComfyUI's built-in node outputs aren't natively that type. This node is the adapter that bridges the gap.
Because the exact conversion behavior for every possible input type isn't documented anywhere, the practical approach is empirical: wire it up, run it, and check what comes out the other side matches what you expected before you build the rest of the graph on top of it.
The inputs and outputs that matter
input1(*, default0) - the only input. Accepts any wired connection.- Output: a single
TUPLE- wire it into whatever downstream node (typically a loop or control-flow node) is asking for that type.
How to install it
Via ComfyUI Manager: search ComfyUI-LogicUtils, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/aria1th/ComfyUI-LogicUtils
Restart ComfyUI. No model downloads - this is pure Python data conversion, nothing GPU- or checkpoint-related. The README describes an opt-in auto-install hook (COMFYUI_LOGICUTILS_AUTO_INSTALL=1, disable with COMFYUI_LOGICUTILS_SKIP_INSTALL=1) for heavier nodes elsewhere in the pack; this conversion node doesn't need it.
Common issues & troubleshooting
The node you're trying to feed doesn't exist yet in your installed version. The pack's node set has moved during 2025–2026 - new conversion and loop-support nodes have landed via pull requests after workflows referencing them were already being shared. If a workflow you downloaded references a node that isn't showing up after installing, check the LogicUtils GitHub repo directly (not just Manager's index) for what's actually merged in the current version, and be ready to substitute a workaround if it isn't there yet.
Downstream node still rejects the output. Double-check the downstream node genuinely wants a TUPLE and not a LIST - they're easy to confuse, and this pack ships a separate ConvertAny2List node for exactly that other case. Type mismatches here fail loudly (a red-outlined connection or an execution error), so it's usually obvious once you know to look for it.
Unsure if you even need this node. If your workflow doesn't involve a loop, a recursive subgraph, or another node explicitly demanding a TUPLE, you probably don't. This is a fix for a specific type mismatch, not a general-purpose tool.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| input1 | * | 0 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| TUPLE | TUPLE | — |