# Allow overriding debug node defaults (e.g. "Also send to console") via settings.js

**URL:** <https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649>\
**Category:** Feature Requests\
**Created:** [25 March 2026 11:18 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649 "2026-03-25T11:18:28Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![yazdan-learning](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/yazdan-learning/32/106449_2.png) [@yazdan-learning](https://discourse.nodered.org/u/yazdan-learning)\
**Post date:** [25 March 2026 11:18 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/1 "2026-03-25T11:18:28Z")

</div>

Hi all,

I'm working with Node-RED in a containerised cloud environment where all  
stdout/stderr is collected by Fluent Bit and shipped to Elasticsearch/Kibana.  
This means the debug node's "Also send to console" option is essential for us —  
it's the only way debug output reaches our centralised logging.

The problem is that every time a developer drags a new debug node onto the canvas,  
"Also send to console" defaults to OFF. They have to remember to tick it every time.  
In practice, they forget, deploy, and then wonder why nothing shows up in Kibana.

I'd love to see a way to configure debug node defaults via settings.js, something like:

```
debugNodeDefaults: {
    console: true
}

```

This would only affect newly created debug nodes in the editor — existing flows would  
keep their saved values, so there are no breaking changes.

I found a related discussion here:

> [@Could we have a setting for default debug windows to current node](https://discourse.nodered.org/t/could-we-have-a-setting-for-default-debug-windows-to-current-node/16419):
>
> I don't know about everyone else, but I always set my debug pane to current flow. Unfortunately, this gets reset back to all flows if I restart Node-RED. I'm asking if we could have a utilise a setting in setting.js to change the default behaviour

That thread touched on remembering sidebar filter settings, and @zenofmud suggested  
a settings.js option for "display complete msg" as default. My request is similar but  
focused on the "console" property.

I also raised this on GitHub ([GitHub · Where software is built](https://github.com/node-red/node-red/issues/XXXX)) and  
was directed here for discussion.

I understand this touches a broader design question — how to allow operators to set  
defaults for any node property. Happy to help shape that if there's interest.

For now we work around it by patching 21-debug.html during our Docker build, which  
works but is fragile across upgrades.

Thanks!

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [25 March 2026 11:22 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/2 "2026-03-25T11:22:45Z")

</div>

Hi and welcome to the forum.

I think your suggestion potentially has merit and I've taken the liberty of moving it to the Feature Requests category as I think that's where it needs to be in order to get the right eyes on it.

---

<div class="post-metadata">

**Author:** ![yazdan-learning](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/yazdan-learning/32/106449_2.png) [@yazdan-learning](https://discourse.nodered.org/u/yazdan-learning)\
**Post date:** [25 March 2026 11:39 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/3 "2026-03-25T11:39:54Z")

</div>

Hi, thanks a lot

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [25 March 2026 11:49 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/4 "2026-03-25T11:49:10Z")

</div>

I would vote for this feature on the debug node. For me it is the Complete Message output that I would like to make the default.

The concept of being able to set defaults on any node type also sounds appealing, if it can be implemented in a way that is compatible with existing 3rd party nodes.

---

<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:** [25 March 2026 11:53 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/5 "2026-03-25T11:53:30Z")

</div>

It does remind me of [alias nodes](https://discourse.nodered.org/t/alias-nodes-redefine-default-settings-as-new-nodes/98137) that I once suggested but that got about as much traction as a snail going downhill.

Either way, good luck with the feature request.

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [26 March 2026 14:11 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/6 "2026-03-26T14:11:49Z")

</div>

I agree with the basic sentiment of this. It would be useful to override some node property defaults for certain situations. I think there are several next level questions it throws up.

Should it be per user (IE held in browser session) - or per server instance (held in settings.js) - I tend to agree with settings.js as it seems like it would be something you want to set for a "house style" way of working.

If implemented should it try to be generic - or node specific ? - I would prefer generic - but that would require some discipline re naming of properties - indeed it may require exact matching to the type and internal property names (which are visible via the node info tab). But in either case I suspect would require the node to "opt-in" - ie be re-written/patched - to expose the relevant properties to be overridden and then that would need to be documented somehow/somewhere.

Not saying it can't be done - and yes I can see it's usefulness - but I wouldn't want to just fix it for the debug node.

---

<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:** [26 March 2026 15:58 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/7 "2026-03-26T15:58:54Z")

</div>

> [@dceejay](#):
>
> Not saying it can't be done - and yes I can see it's usefulness - but I wouldn't want to just fix it for the debug node.

It's doable today. Use the alias node solution that I describe. It works but it's fragile because it's not standard and second each node is slightly different to modify. I've aliased [five nodes](https://flowhub.org/f/326616b4e24eab2a) and each was different on how to do it - if that were to be standardised, then it would be much simpler.

These are browser side solution, the server side only sees the original nodes with the altered settings. Alias nodes only exist in the editor but need to be installed on each reload of the browser - a downside.

IMHO a browser only solution has the advantage that nothing needs doing on the server, it just works out of the box. So folks don't have to use aliases or altered nodes. Have a server side solution might also make share flows more difficult since not only need the right node packages be install but also the correct settings. That of course depends on how these these settings are implemented but something to be aware of.

But hey, bake your own cake in space, I've got a solution that works for me.

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [26 March 2026 16:56 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/8 "2026-03-26T16:56:37Z")

</div>

Hi yes - sorry I should have said I had seen your alias concept. Must admit I didn't quite get whether it overrode the existing node - or added another aliased one that had the new defaults. IE does it fill up the palette with yet more nodes ?  
To my limited brain I think I would prefer a solution (space)baked into the core, and into any nodes that wanted to. But yes a lot depends on the implementation and if it can be backwards compatible flow-wise etc. All to be debated, thought about and implemented.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [26 March 2026 17:12 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/9 "2026-03-26T17:12:16Z")

</div>

I'm liking the ideas there Dave. Sounds like a really good extension to Node-RED. And I agree, it should be in settings.js ideally.

Nodes can already make use of custom properties in settings.js so perhaps using the node-name as a key? Or even better, the package (npm) name with the node-names at the next level then the settings names at the 3rd level. This should then be fairly easy to hook into the node runtime in a fairly standard way? In fact, does it need ANY core changes at all? Since nodes can already do this with `RED.settings`. Perhaps all it needs is a common set of conventions?

---

<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:** [26 March 2026 17:16 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/10 "2026-03-26T17:16:38Z")

</div>

> [@dceejay](#):
>
> IE does it fill up the palette with yet more nodes ?

It does do that, the idea being that both the original node and the new alias node are available to the user. The alias node, when dragged into the workspace, is replaced with the original but using the new ("alias") settings. This means that alias nodes don't make it to the server, only the original node with the new settings. This then also allows copy & paste solution of having default values.

This concept only works for attributes configurable in the editor, so any settings.js settings can not be overridden in this way.

Concerning the filling up of the palette with nodes - well then do less with Node-RED and then you'll need less nodes 😉 I think this issue is a more general issue. How else should new nodes be represented in NR? If this is an issue (i.e. the over population of the palette), then alias nodes are the smallest part of the problem, perhaps the 5500+ node packages are more the problem!

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [26 March 2026 17:20 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/11 "2026-03-26T17:20:45Z")

</div>

> [@gregorius](#):
>
> do less with Node-RED

HERESY ! - but yes totally get your point.

> [@gregorius](#):
>
> the 5500+ node packages

It's tough being so popular 🙂

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [26 March 2026 17:25 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/12 "2026-03-26T17:25:13Z")

</div>

> [@TotallyInformation](#):
>
> odes can already do this with `RED.settings`

Yes - but no... the server side can see all the settings - but only some are passed through to the client/editor side - which is where the defaults for a new node are generally set when you drag on a node - so need to be overridden there... I think... happy to be wrong..

Was thinking like a separate key area in settings.js  
eg something like

```auto
    nodeDefaults: {
        debug: {
            complete: true,
            console: true
        }
    }

```

where debug is the node type and the properties are as per the node info  
eg

 ![Screenshot 2026-03-26 at 17.23.25](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/6/e6d5a574ebf210dc6cd6b060ef72edcb8f871df9.png)

NOTE: THIS IS PURELY FOR DISCUSSION ! THANK YOU FOR YOUR ATTENTION TO THIS MATTER 🙂

---

<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:** [26 March 2026 17:31 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/13 "2026-03-26T17:31:38Z")

</div>

> [@dceejay](#):
>
> HERESY ! - but yes totally get your point.

Btw this is how I use alias nodes:

![Screen Recording 2026-03-26 at 18.21.42](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/1/b11fe74dd377fc15b4def5845fc96ef9c197f1bf.gif)

I install them and then collapse their category in the palette and after that only use the Cmd-Mouse click menu to select them from there. (In the screencast, I add a switch node that stops after the first match, a debug node that sends the complete msg to the debug panel and a debug node that only has a message counter.)

So I don't really care about the palette, I rarely drag & drop nodes anymore....

---

<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:** [26 March 2026 17:35 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/14 "2026-03-26T17:35:54Z")

</div>

> [@dceejay](#):
>
> Was thinking like a separate key area in settings.js

So the old or original default values are replaced? So in the case of my switch node that stops after the first match, if I ever wanted to the old behaviour, I would never to reset it in the workspace?

So all my debug nodes would go to the console? Unless I deactivate it in the debug node?

I'd prefer to have a alias node so that I would have a choice and not a "one size fits all" solution.

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [26 March 2026 17:38 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/15 "2026-03-26T17:38:11Z")

</div>

Haven't thought about the switch - but debug - yes - the node will now have the console option ticked when dragged on - you can then toggle it off - likewise the view complete msg is set as default - and you have to manually change it to be msg.payload...

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [26 March 2026 17:47 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/16 "2026-03-26T17:47:52Z")

</div>

I'm not sure what you expect default to mean then. I would expect to use the default most of the time and to change it when needed.... If you indeed use two modes about 50/50 then yes maybe two nodes, one for each, would suit better. But hey 🤷

---

<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:** [26 March 2026 17:52 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/17 "2026-03-26T17:52:14Z")

</div>

> [@dceejay](#):
>
> two nodes, one for each

Just to make the point, I've updated the [alias nodes flow](https://flowhub.org/f/326616b4e24eab2a) and added an alias for the debug node that debugs to the console and the panel - so the node required in this case. 🙂

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [26 March 2026 17:59 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/18 "2026-03-26T17:59:42Z")

</div>

Very nice ! - but the OP said

> [@yazdan-learning](#):
>
> "Also send to console" option is essential for us

so ideally they don't want the "old default" option... so an alias wouldn't suit them.  
(and I'm not trying to stop your alias's working - in theory we could have changed defaults and/or alias's on top if there was a reason to - eg a 3rd party node author declined to implement.

---

<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:** [26 March 2026 18:03 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/19 "2026-03-26T18:03:20Z")

</div>

> [@dceejay](#):
>
> so ideally they don't want the "old default" option

Sure, I guess they can wait another six months before a solution is actually implemented. Not my problem. Just saying that they can continue use the current situation or have two nodes (as debug nodes) and one is what they want and the other is the original - just in case there is a case where they don't want to debug to console - "no will neveeeeeeeer haaaaapppppeeeeeennnnnn ever ... promise".

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [26 March 2026 18:06 UTC](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649/20 "2026-03-26T18:06:12Z")

</div>

I think we are almost in violent agreement

[Next page](https://discourse.nodered.org/t/allow-overriding-debug-node-defaults-e-g-also-send-to-console-via-settings-js/100649.md?page=2)
