#39672·n8n

Merge Node Bug

Author: melekkoyCreated Sep 26, 2026Updated Sep 28, 2026
Labelsteam:nodesstatus:in-linearstatus:team-assigned

Describe the problem/error/question

The Merge node in "Combine" mode with "Combine by Fields" returns 0 output items, even though both inputs contain items with genuinely matching values in the field used for matching. This happens both with the simple field-name input and with the Advanced mode (explicit Field 1 / Field 2 mapping) — same result either way. The issue persisted after updating from n8n 2.37.10 to 2.40.7 (no change in behavior).

Minimal reproduction:

Input 1 (e.g. from an "Orders" HTTP Request node):

json
[
  { "order_id": "ORD-001", "customer_id": "CUST-001" },
  { "order_id": "ORD-002", "customer_id": "CUST-002" }
]
markdown
Input 2 (e.g. from a "Customers" HTTP Request node):

[
  { "customer_id": "CUST-001", "customer_name": "Acme Corp" },
  { "customer_id": "CUST-002", "customer_name": "TechStart Inc" }
]
json
Merge node settings:

Mode: Combine
Combine by: Fields
Fields to Match: customer_id (Input 1) = customer_id (Input 2)
Join Mode: Keep Matches
Output Data From: Both
Fuzzy Compare: off (default)
Expected: 2 output items, each combining the matching order + customer fields.

Actual: 0 output items.

Both inputs were verified clean before the Merge step (correct field name customer_id on both sides, identical string values, no whitespace/type mismatch, no duplicate/duplicated execution issue).

What is the error message (if any)?
No error is thrown. The node executes successfully (green checkmark) but returns an empty item array.

Please share your workflow/screenshots/recording
<(

<img width="969" height="848" alt="Image" src="https://github.com/user-attachments/assets/477eb19b-f81e-47b6-bf57-d8db7c5e0c1b" />

<img width="1320" height="864" alt="Image" src="https://github.com/user-attachments/assets/c52bce05-5348-4d85-8af4-7177c80a2efc" />

In drop files)->

Share the output returned by the last node
[]
json
Debug info
core
n8nVersion: 2.40.7
platform: docker (self-hosted)
nodeJsVersion: 26.7.0
nodeEnv: production
database: sqlite
executionMode: regular
concurrency: -1
license: enterprise (production)
storage
success: all
error: all
progress: false
manual: true
binaryMode: filesystem
pruning
enabled: true
maxAge: 336 hours
maxCount: 10000 executions
client
userAgent: mozilla/5.0 (macintosh; intel mac os x 10_15_7) applewebkit/605.1.15 (khtml, like gecko) version/26.3 safari/605.1.15
isTouchDevice: false
security
secureCookie: false
Generated at: 2026-09-26T16:31:03.964Z