Description
Problem
Switch node sends data to Output 1 every time, even when conditions clearly match different outputs (e.g., Output 2 for Marketing).
Environment
-
n8n version: [Your version]
-
Node: Switch (v3.3)
Expected vs Actual
Data:
json
"Escalated To": "Marketing Team (Sowmya)"
Expected: Routes to Output 2 (Marketing condition matches)
Actual: Routes to Output 1 (Technology) - WRONG
Configuration
-
Always Output Data: Enabled -
All Matching Outputs: Disabled -
Mode: Execute First Matching Output
-
Conditions: Exact string matching on “Escalated To” field
What I’ve Tried
-
Disabled “All Matching Outputs” explicitly
-
Verified no whitespace issues
-
Used strict type validation
-
Manually set
"allMatchingOutputs": falsein JSON -
Added debug logging - data is correct
When “Always Output Data” is disabled: Switch works correctly but doesn’t output data when no match (need this for error handling).
Current Workaround
Using 5 parallel Filter nodes instead of Switch.
Question
Is this a known bug with “Always Output Data”? Any fix or recommended alternative for reliable multi-output routing?
Screenshots attached showing:
-
Switch configuration
-
Data values
-
Incorrect routing behavior

