Local n8n if flow always returns false

Hey,

Local n8n is installed using the docker. This is the latest version, 1.95.3

The if flow always returns false no matter what I try.

For example:


As you can see in the picture, the in_progress has the value of 1 and I have the condition of this value is greater than 0. Always returns False. The 1 is a result of a javascript function because I tried to compare the original value with a boolean “is true” function but returned false as always.

Every time I run the if flow, in the docker view, I can see the following error:
Unknown filter parameter operator “boolean:equal”

Any idea?

Convert the number to a string or Boolean before comparing:

  • Use a Set Node or a Function Node to change the type:

    • As a string: in_progress_str = in_progress.toString(); → then compare if in_progress_str > “0”.
    • Or as a Boolean: in_progress_bool = in_progress !== 0; → simple Boolean condition.
  • Use a JavaScript expression directly in the IF statement in Expression mode, for example:

    • ={{$json.in_progress > 0}}
      This avoids the problematic internal operator and forces specific JS evaluation.
  • Check and clean up expressions: Make sure there are no line breaks, extra spaces, or invisible encoding that could affect how n8n parses the condition.

1 Like

Thanks for the response.
Look, I hardcoded the value to be “1” (string)

Even to a boolean:

This must be some bug in the latest version. Where I can report it?

I removed the node, added again and it works…