Describe the problem
I’m facing unexpected data duplication in the Loop Over Items node (previously known as Split in Batches).
Observed behavior:
-
During workflow execution, the node seems to correctly process items in batches through the loop branch.
-
However, at the end of the processing (when the loop finishes and data should go to the Done output), the output data appears to get doubled / duplicated.
-
In my case, what should be a single set of processed items ends up duplicated (and sometimes split), resulting in 2×, 4× (or more) items than expected.
-
Downstream nodes (e.g. Aggregate, Code, or any processing node) receive this multiplied data.
-
As a result, nodes after the loop get triggered multiple times (in my example: 4 times instead of once), depending on the data size and how the duplication occurs.
Expected behavior:
The Done output should contain exactly the processed items once (no automatic doubling/duplication), so downstream nodes execute only once per logical “group” of data.
Concrete impact example:
-
After the loop, I have a notification node (e.g. Send Email, Discord, Slack, etc.).
-
Instead of sending 1 notification, it sends the notification 4 times (because it receives 4× the items).
Additional details:
-
The duplicated/split data never gets merged back into a single object properly.
-
Using nodes like Aggregate, Item Lists, or even a Code node with custom logic does not combine them back into one expected item/object — the duplication persists.
-
This causes the entire downstream workflow to behave unexpectedly (multiple executions, duplicate API calls, duplicate messages/notifications, etc.).
(Below is an example of how nodes after the loop receive and handle the split/duplicated items):
Environment:
- n8n version: 2.4.8 (self-hosted)



