Issue: Loop over items can't handle multiple incoming batches/lists. [Loop issue]

This issue comes from the next thread:
Loop Over Items can’t handle multiple incoming lists? - Help me Build my Workflow - n8n Community

I have structured the conclusions here:

Issue: Loop Over Items Node Fails to Process Multiple Incoming Batches Consistently

Summary

When the Loop Over Items node receives multiple batches from different branches, it does not iterate over all items as expected. Only the last batch of items is processed in subsequent loops, even though all items are visibly passed into the node.

This behaviour is inconsistent with how subworkflows behave: Encapsulating the same logic inside a subworkflow makes the loop process all items correctly, even though the connections and logic are identical.

This suggests either:

  • an inconsistency in how the Loop Over Items node handles multi‑input data, or

  • a design mismatch between workflow and subworkflow execution models.

Steps to Reproduce

  1. Create a workflow where two or more batches of items are produced (for example by using a first loop over items that produces two or more batches)

  2. Make a Loop Over Items node receive those batches.

  3. Execute the workflow.

Observed Behaviour

  • The second loop receives all items but only processes one atch.

  • The node receives all items (confirmed by inspecting input), but decides not to process most of them.

  • When the exact same logic is wrapped inside a subworkflow, all items are processed correctly.

Expected Behaviour

  • The Loop Over Items node should process all items from all incoming batches, regardless of whether the logic is inside a workflow or a subworkflow.

  • Subworkflow encapsulation should not change the semantics of item iteration.

  • Workflow and subworkflow execution models should be isomorphic for equivalent logic.

Workaround

Encapsulate the loop logic inside a subworkflow. When the Loop Over Items node is placed inside a subworkflow, all items are processed correctly, even with multiple incoming batches.

Example can be seen in the thread’s last answers, as show here:

Additional Notes

  • The user who reproduced the issue created a minimal example demonstrating the inconsistency.

  • The behaviour suggests that the Loop Over Items node may not be designed to handle multiple incoming batches directly, or that its internal batching logic behaves differently outside subworkflows.

You have to reset the loop between batches, put a suitable expression in the reset field.

But that only processes the first item of each batch if I am not mistaken.