In theory, you’d expect that if there is no comparison input (aka input 2) then the data in input 1 would simply pass through, but this is not the case
What is the error message (if any)?
No error message, remove key matches is seemingly working as it was designed, so this is really about a design decision
Please share the workflow
simply plug in an input that returns no data (for example a keepKeyMatches Merge Node with no matches) and then an input that has data into a removeKeyMatches Merge Node
This is something I also have a hard time with.
It’s a consistent behavior of the Merge node. Both inputs must have data in order for the node to work at all.
For me this requirement really limits my workflows as if any of the merge inputs is conditional I can’t be sure the workflow will work correctly and I am yet to find a convenient workaround.
Also reading this old post from @jan it may not have always been like this:
Yes agree, both behaviors could be valid and correct depending on the use case. So there is no right or wrong. n8n behaves currently the “wrong” way for you. Sadly is supporting also the other “way” not simple as that is in the core of n8n and would so probably be a big change (and also one that could potentially cause some problems if implemented not perfectly).
You can create a Feature Request for that but honestly do not expect that to be able to be implemented anytime soon.
I have an idea and I’m brainstorming here but how about an option to pass through the data of a single Merge node input at the condition that there are no other nodes running.
I believe there there is already such a functionality when I execute other workflows - it returns data only when the final node finished executing.
For example if an append Merge node has data from a single input instead of stopping the node will pass the data forward.