# Switch node, check all mode and otherwise - why does otherwise not match

**URL:** <https://discourse.nodered.org/t/switch-node-check-all-mode-and-otherwise-why-does-otherwise-not-match/96794>\
**Category:** Core Development\
**Created:** [29 April 2025 06:29 UTC](https://discourse.nodered.org/t/switch-node-check-all-mode-and-otherwise-why-does-otherwise-not-match/96794 "2025-04-29T06:29:42Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [29 April 2025 07:01 UTC](https://discourse.nodered.org/t/switch-node-check-all-mode-and-otherwise-why-does-otherwise-not-match/96794/5 "2025-04-29T07:01:40Z")

</div>

> [@Steve-Mcl](#):
>
> if you think about it, it makes sense

It does, it's just that my logical thinking thought that if check all does really check _all_ rules, then otherwise _must_ match. But check all is "check all rules that aren't otherwise unless nothing matched" is the logic. Either way, I have a workaround and that is moving otherwise up to the top.

From [you from here](https://discourse.nodered.org/t/feature-request-help-prevent-crossing-wires-from-switch-node/75233/46):

> Agree. "Otherwise" (aka `else` ) should always be last and IMO would make more sense being a simple checkbox option along the lines of `[x] output when no rules match` and would always be the last output.

Disagree. I think we are all grown ups here and should be able to make logical errors if we like. Now that I better understand otherwise, I'll put up to the top if I need to.

Either way, I implemented this incorrectly in Erlang and now have fix it. Damn.

Thanks for the explanation 👍

---

_[View the full topic](https://discourse.nodered.org/t/switch-node-check-all-mode-and-otherwise-why-does-otherwise-not-match/96794)._
