Understanding Execution Order and Error Handling Between Sibling Nodes

Hello everyone,

I have a question about the default execution behavior in N8N. In my workflow, the output of Node A is connected to two subsequent nodes: Node B (upper branch) and Node C (lower branch).

I observed that Node B is always executed first, and Node C only starts after Node B finishes. Furthermore, if Node B encounters an error, Node C will not be executed at all.

From my initial understanding, since both Node B and Node C are directly connected to the same output port of Node A, they should be triggered simultaneously (in parallel) with the same data. Could you please clarify:

  1. Is this sequential execution (B → C) and the error blocking the sibling node the intended default behavior in N8N?

  2. If this is by design, what is the recommended way to make Node B and Node C execute independently? Should I use the “Continue on Fail” option on Node B, or is there another best practice?

  3. Are there any configurations (like concurrency settings) that can change this behavior to allow for parallel execution of sibling nodes?

Thank you for your insights and help!

@life_voluptuous currently there is no implementation for parallel execution of multiple stems connected to a single node, all though your Continue On Fail is the option you should consider as if one side gave an error it would not effect the other side, and yes i would say the closest i have ever got to parallel execution was using the Execute Sub workflow, as i use these to execute those sub stems and i have that “Wait for sub-workflow completion” turned off so that it does not wait and starts execution of that workflow and moves forward and starts executing another flow, i really would not say that this is the best practice cause maintaining a complex flow with that kind of structure will cause a headache. Hope this helps.