ISSUE: IF Node continuing on both branches with only one condition ....?

Describe the issue/error/question

We are having an error where our IF node is outputting 1 item to the TRUE path, and then the node on the TRUE path runs, but also the node on the FALSE path runs… even though there are no items that are on the FALSE path. I’ve attached Screenshot to show.

What is the error message (if any)?


Please share the workflow

I’ve only put part of my workflow below because there is a character limit on this message body…

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 0.165.1
  • Database you’re using (default: SQLite): MSSQL
  • Running n8n with the execution process [own(default), main]: own
  • Running n8n via [Docker, npm,, desktop app]: Desktop App

I think i’ve figured out that there is a bug with the MERGE Node in the desktop app. I replicated this issue in a small workflow. Can someone please help with this bug or provide a work around?

Hi @dalemurdych, welcome to the community :tada:

You’re quite right, the Merge node would fetch data from both inputs and trigger a previous node execution in the process.

I’ve added a ticket to document this going forward seeing this might come as a surprise in many cases. I am very sorry for the confusion this has caused :frowning:

That said, if you only want to avoid this behaviour, in many cases you’ll be able to simply leave out the Merge node.

Assuming the below example:

If you don’t want the False Path to be executed, you can simply get rid of the Merge node like so:

@MutedJam thanks for the response, and that makes sense. The only issue here is that we need to be able to merge the two data sources that are coming into the Merge node. Our production workflow is much more complex than the example one I initially attached. I’ll attach a screenshot here and maybe you’ll be able to provide some insight for me. Thanks!

Here’s a simplified example of my production workflow… basically I need to merge the Location JSON and the Worker JSON (if it was updated or created) together so that I am able to use it in the API update at the end together. If you have any suggestions what I can do instead of using the merge node, I’m open to any options! Thanks for your help

@MutedJam So i’ve found a very very very weird behavior going on… wonder if you have any sort of explanation for this? I have attached 2 screen shots, the 1st screenshot is the workflow above, and you can see it is pulling from the true AND false paths. but in the 2nd screenshot if I add in a function node (the javascript is literally just “return items;”). It then doesn’t pull from the true AND false paths like in the first screenshot? Do you know why this would be happening or how this would be affecting it in anyway?