# Cannot return from subworkflow while using merge node that doesn't obtain all inputs

**URL:** <https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414>\
**Category:** Questions\
**Created:** [September 25, 2025, 3:57pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414 "2025-09-25T15:57:52Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![every\_noise](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/every_noise/32/79286_2.png) [@every\_noise](https://community.n8n.io/u/every_noise)\
**Post date:** [September 25, 2025, 3:57pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414/1 "2025-09-25T15:57:52Z")

</div>

## Describe the problem/error/question

I have a merge node that doesn’t get all its inputs, by design. It is an and gate. It shouldn’t always receive both inputs.

I have to use a merge node because I have to pass binary data. Yet, if a merge node doesn’t get all its data and the subworkflow doesn’t completely finish, then the subworkflow doesn’t return data to the parent.

## What is the error message (if any)?

## Please share your workflow

```auto
The rendering engine keeps thinking I'm posting raw_html, so I cannot.

```

## Share the output returned by the last node

## Information on your n8n setup

- **n8n version:**
- **Database (default: SQLite):**
- **n8n EXECUTIONS\_PROCESS setting (default: own, main):**
- **Running n8n via (Docker, npm, n8n cloud, desktop app):**
- **Operating system:**

---

<div class="post-metadata">

**Author:** ![every\_noise](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/every_noise/32/79286_2.png) [@every\_noise](https://community.n8n.io/u/every_noise)\
**Post date:** [September 25, 2025, 3:58pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414/2 "2025-09-25T15:58:22Z")

</div>



---

<div class="post-metadata">

**Author:** ![every\_noise](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/every_noise/32/79286_2.png) [@every\_noise](https://community.n8n.io/u/every_noise)\
**Post date:** [September 25, 2025, 3:59pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414/3 "2025-09-25T15:59:01Z")

</div>

Both merge nodes also take in data from the originating “email trigger” / parent workflow node. But I can’t post that here because the rendering engine blocks “raw\_html”.

---

<div class="post-metadata">

**Author:** ![krisn0x](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/krisn0x/32/118504_2.png) [@krisn0x](https://community.n8n.io/u/krisn0x)\
**Post date:** [September 25, 2025, 4:08pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414/4 "2025-09-25T16:08:36Z")

</div>

Sorry, could you elaborate on what exactly is the purpose of the merge node again? Why can’t the code node simply pass whatever the output is to the next code node? Or do you have something connected to Input 2 as well, but it’s not visible here?

If you provide more details as to exactly what goes in what needs to happen and what needs to go out, I can understand it better and suggest alternatives.

---

<div class="post-metadata">

**Author:** ![every\_noise](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/every_noise/32/79286_2.png) [@every\_noise](https://community.n8n.io/u/every_noise)\
**Post date:** [September 25, 2025, 4:21pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414/5 "2025-09-25T16:21:04Z")

</div>

The merge node does a few things:  
Yes, there’s something connected to input 2 – it was a “mail trigger”, which is passed down by the parent workflow, but I couldn’t upload that because I have some pinned data there that this forum reads as raw\_html and bans.

Fundamentally, just think of it as the merge node allows me to pass binary data down to the node just after the merge → combine → {target node that needs binary data}.

---

<div class="post-metadata">

**Author:** ![every\_noise](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/every_noise/32/79286_2.png) [@every\_noise](https://community.n8n.io/u/every_noise)\
**Post date:** [September 25, 2025, 4:21pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414/6 "2025-09-25T16:21:38Z")

</div>

Here’s a screenshot of my setup.

 ![image](https://europe1.discourse-cdn.com/n8n/original/3X/0/5/0552f8737f04bad4b09741b15fc167b8f86a84d2.png)

---

<div class="post-metadata">

**Author:** ![krisn0x](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/krisn0x/32/118504_2.png) [@krisn0x](https://community.n8n.io/u/krisn0x)\
**Post date:** [September 25, 2025, 5:52pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414/7 "2025-09-25T17:52:21Z")

</div>

So if I’m following, the merge node doesn’t always receive both inputs right? If you can’t control that, but want to continue anyway, you can use an Edit Fields node that either passed on your data, or sets it as null, so it’s always set and reach the merge node:

Let me know if it sounds good

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/system/32/195824_2.png) [@system](https://community.n8n.io/u/system)\
**Post date:** [December 24, 2025, 5:52pm UTC](https://community.n8n.io/t/cannot-return-from-subworkflow-while-using-merge-node-that-doesnt-obtain-all-inputs/194414/8 "2025-12-24T17:52:42Z")

</div>

Closed on December 24, 2025, 5:52pm UTC

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