Sub-Workflow with multi-branches returns split outputs that are not reachable

Describe the problem/error/question

Running a sub-workflow in a “Run once for each item” mode with Wait for completion turned on. So it runs the sub-workflow multiple times and should aggregate the output from the last node of the sub-workflow and return that. Instead it seems to return the items in multiple branches of which only one I’m able to access and connect to another node.

What is the error message (if any)?

None

Please share your workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 2.10.3
  • Database (default: SQLite): default
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): docker
  • Operating system:

Hi @Nathan_De_Troyer

This is expected behavior with Execute Workflow in “Run once for each item” mode. Each sub-workflow execution returns its result as a separate output “run,” which shows up as multiple branches in the UI. Only the first is connectable.

Since you’re already batching with Loop Over Items (batch size 24), the simplest fix is to switch Execute Workflow to “Run once with all items” mode instead. Your sub-workflow will then receive all 24 items at once per batch and should handle them internally. The output comes back as a single aggregated branch that you can connect normally.

Alternatively, if your sub-workflow can only handle one item at a time, set your Loop Over Items batch size to 1 and keep “Run once with all items” on the Execute Workflow node. That way each loop iteration sends exactly one item, and you always get a single clean output branch.

1 Like

Thanks for the input. Even though this may be expected behaviour this does not seem like a the best way n8n could have implemented it so if anybody from the team is reading this, would be great to be able to handle this edge case.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.