# Suggestions for Node Red 5.0

**URL:** <https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856>\
**Category:** Feature Requests\
**Created:** [3 December 2025 19:55 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856 "2025-12-03T19:55:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [3 December 2025 19:55 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/1 "2025-12-03T19:55:01Z")

</div>

(I'll start this thread) 🙂

These are ideas/bumps (n the road) for me when I'm using the editor.

//==

I have LOT of tabs.  
I find it annoying that if I have the `debug` set to `this flow` the list is still quickly _swallowed_ (wiped) because other flow `debug` nodes are included in the output queue.

//==

I am on a tab and editing a `function` node.  
What was that variable name I used in/on another tab?  
Rather than being able to go to another tab WHILE editing the node, I have to close it first.  
Maybe petty but it does catch me a few times and it is sometimes annoying.  
Particularly when it IS a `function` node and I am deep in the bowels of it's code.  
Closing it, then coming back to it is a bit distracting. _(IMO)_

//==

(This one is tricky) I have the node's `documentation` page open checking how to structure an inbound message. _Ah! That's how I do it!_ and then click on the pervious node upstream from it.  
All that handy information is gone and my _CRAFT disease_ sets in and I can't remember what I just saw. So I have to click back on that node try again to remember the important part then go back to the node I need to edit.  
Maybe it is the OCD, but with the _screen change_ my eyes get distracted and I forget things.  
A way to _HOLD_ (LOCK?) the documentation for **THAT** node would be nice.  
Then when I am making (say) a template to be sent into `cron-plus` I am editing the `change` node (example) while looking at the documentation for the `cron-plus` node.

//==

With the new _Drag wire to empty space and get a requestor for next node_ is nice, there seems to be a positioning problem.  
I have a 35kb .webm clip of the example but can't upload it.  
Help with options.

//==

_This is only an idea_  
A _SCRUNCH_ option.  
Let me explain, and forgive this digression.

You are working on some nodes and want to make a `subflow`.  
You drag select them and select `nodes to subflow`. Ta-Da! They are all in a subflow.

You are working on a bunch of nodes which have been giving you a headache.  
You have them nicely spaced as you were needing `debug` and `inject` nodes all over the place.  
Now, you are down to the _BARE BONES_ of things yet the nodes populate a rather large area.

The _SCRUNCH_ would work by removing most horizontal space between nodes and most vertical space too.

# NO REARRANGING! Just getting rid of excess space.

Maybe a pipe dream, but it may be handy for people.

//==

(Maybe I'm going blind, but....)  
😵

When I am `searching` for a node. It sometimes takes a lot of retries for me to actually see the node.

Settings to adjust how the _FOUND_ node is blinked....  
The number of pixels wide for the orange dashed line.  
The colour.  
How long it blinks.

---

<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:** [3 December 2025 20:36 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/2 "2025-12-03T20:36:05Z")

</div>

> [@Trying\_to\_learn](#):
>
> I am on a tab and editing a `function` node.  
> What was that variable name I used in/on another tab?  
> Rather than being able to go to another tab WHILE editing the node, I have to close it first.

I think it is more than this. It is true across the board. Only one node's settings can be open at any time. This is super frustrating in all kinds of situations. And it can really slow down flow development.

> [@Trying\_to\_learn](#):
>
> A way to _HOLD_ (LOCK?) the documentation for **THAT** node would be nice.

Or, possibly even better, lets have (an option?) to go to a proper web page for the equivalent information in a separate browser tab. Then we can have as many open as we like in as many windows/tabs as we like.

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [3 December 2025 20:41 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/3 "2025-12-03T20:41:21Z")

</div>

> [@TotallyInformation](#):
>
> Then we can have as many open as we like in as many windows/tabs as we like.

Yes, but the _Problem_ there I see is that all the information is not on the one page.  
So people like me who can't always remember things would still have to swap pages.

That moment of changing tabs may be enough to wipe what we just saw and not really solve the problem.  
(Just saying.)

The first bit.  
Not a big deal.  
I can but dream. 😉

---

<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:** [3 December 2025 20:42 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/4 "2025-12-03T20:42:01Z")

</div>

> [@Trying\_to\_learn](#):
>
> This one is tricky) I have the node's `documentation` page open checking how to structure an inbound message. _Ah! That's how I do it!_ and then click on the pervious node upstream from it.  
> All that handy information is gone

While in the upstream node you can select the node type in top half of the Documentation pane.

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/6/5648ac698dd7303826df6253e64ec82ebf9b5574.png)

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [3 December 2025 20:45 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/5 "2025-12-03T20:45:09Z")

</div>

I fear I didn't explain it well enough.

## Attempt 2.

I'm working in a node. It needs a _structure_ and as is, it isn't getting the correct one.

So the incoming message needs to be altered.  
So THIS node's documentation explains what is expected.

I click on the node upstream to edit it and that _important_ information is gone as I am now looking at the new node's documentation.

Which doesn't include what the original node was expecting in it's payload.

Clearer?

---

<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:** [3 December 2025 20:47 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/6 "2025-12-03T20:47:29Z")

</div>

> [@Trying\_to\_learn](#):
>
> Yes, but the _Problem_ there I see is that all the information is not on the one page.  
> So people like me who can't always remember things would still have to swap pages.

If you use a good browser, it should support page tiling which allows you to combine tabs in a single view. Or you can use separate browser windows and arrange them.

This is why most multi-panelled tools (like code editors) end up being able to shift inner panels to external windows. Also, because so many of us have multiple active monitors. All that screen real estate and we can't use any!

---

<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:** [3 December 2025 20:50 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/7 "2025-12-03T20:50:34Z")

</div>

> [@Trying\_to\_learn](#):
>
> I click on the node upstream to edit it and that _important_ information is gone as I am now looking at the new node's documentation.

Isn't that what the screenshot shows? The upstream node is the Inject node now being edited, the documentation pane is showing the Join node.

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [4 December 2025 07:02 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/8 "2025-12-04T07:02:22Z")

</div>

Ok, sorry. The meaning was lost for me when I read it.

My bad.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [4 December 2025 07:09 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/9 "2025-12-04T07:09:52Z")

</div>

> [@Trying\_to\_learn](#):
>
> Settings to adjust how the _FOUND_ node is blinked....  
> The number of pixels wide for the orange dashed line.  
> The colour.  
> How long it blinks.

This, i can't really see the selected/blinking node, like nr is playing games with me or something, 'please try again', freaking annoying. And it is also because the overlay is gray, that should be removed, it serves no purpose.

---

<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:** [4 December 2025 10:22 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/10 "2025-12-04T10:22:11Z")

</div>

> [@Trying\_to\_learn](#):
>
> When I am `searching` for a node. It sometimes takes a lot of retries for me to actually see the node.

did you see [Highlight nodes in search results list](https://discourse.nodered.org/t/highlight-nodes-in-search-results-list/99747) which was something that kind of goes in that direction

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [4 December 2025 10:40 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/11 "2025-12-04T10:40:09Z")

</div>

I may need to put my thinking hat on and look more into that.

Thanks.

---

<div class="post-metadata">

**Author:** ![hoolahoous](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hoolahoous/32/16612_2.png) [@hoolahoous](https://discourse.nodered.org/u/hoolahoous)\
**Post date:** [6 December 2025 00:01 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/12 "2025-12-06T00:01:24Z")

</div>

i am heavy node-red user with 100's of automations.. few on top of my list

1. debug node should print all properties (not just payload) by default.
2. a central place to store the settings/credentials with user friendly UI (see this [thread](https://discourse.nodered.org/t/how-do-you-securely-give-credentials-to-a-stand-alone-function-node) where I ended by creating a contrib) . Current global context requires a flow to edit/create settings and those settings are not encrypted when saved on disk.
3. easy way to update the function import libraries('modules'? in setup tab of function nodes) to latest version

---

<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:** [6 December 2025 17:22 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/13 "2025-12-06T17:22:30Z")

</div>

> [@hoolahoous](#):
>
> debug node should print all properties (not just payload) by default.

Well there are [alias nodes](https://discourse.nodered.org/t/alias-nodes-redefine-default-settings-as-new-nodes/98137) that I created. One of those is debug [entire message](https://cdn.flowhub.org/?t=0&fhid=326616b4e24eab2a&tk=#node/0e1f770a58f9fe96/edit) node.

This is a hack solution to do something that could be really useful for exactly that situation: different default values for existing nodes. It is a non-trivial thing to do but can be very useful.

---

<div class="post-metadata">

**Author:** ![hoolahoous](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hoolahoous/32/16612_2.png) [@hoolahoous](https://discourse.nodered.org/u/hoolahoous)\
**Post date:** [6 December 2025 19:37 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/14 "2025-12-06T19:37:48Z")

</div>

it will be awesome to allow setting defaults for each node type so any new node dragged into console is created with the defaults.

---

<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:** [6 December 2025 21:16 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/15 "2025-12-06T21:16:31Z")

</div>

> [@hoolahoous](#):
>
> it will be awesome

LMFTFY 🙂 - ... it would be awesome...

---

<div class="post-metadata">

**Author:** ![hoolahoous](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hoolahoous/32/16612_2.png) [@hoolahoous](https://discourse.nodered.org/u/hoolahoous)\
**Post date:** [7 December 2025 16:26 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/16 "2025-12-07T16:26:53Z")

</div>

Thanks. English is not my first language. 🙂

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [7 December 2025 16:30 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/17 "2025-12-07T16:30:35Z")

</div>

I think Dave may be politely hinting that defaults for each node type are unlikely to happen 😀

---

<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:** [7 December 2025 18:55 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/18 "2025-12-07T18:55:42Z")

</div>

..... well it may happen - but this is the first time I recall it being discussed (as a general capability for any node) - so has not been thought about, or how it could be implemented, or designed, so a long way to go, so unlikely for v5 right now.

---

<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:** [8 December 2025 08:12 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/19 "2025-12-08T08:12:59Z")

</div>

> [@jbudd](#):
>
> defaults for each node type are unlikely to happen

Well that's the point of a having an alias node, it has the new default values and the original node remains unchanged.

The idea is that an alias node is added to the node palette (not workspace) with a new type e.g. 'debug-complete-msg'. The alias node has different default values (e.g. 'complete' = true). When the alias node is added to the workspace, it mutates changing it's type to the original node type, e.g. 'debug'. This means an alias type never appears in a flows.json file, in fact an alias node only appears in the node palette in the flow editor (and in the shortcut drop-down opened with ctrl/cmd-click).

How is this done? By using the `onadd` callback on the [node](https://cdn.flowhub.org/?t=0&fhid=326616b4e24eab2a&tk=#node/0e1f770a58f9fe96/edit):

```auto
    obj.onadd = function() {
        // change the type back to the original type 
        // when node is added to the workspace 
        this.type = 'debug'; 
        theRealDebug.onadd.call(this);
    }

```

In this way, I can then also create a switch node that has "stop after first match" as default instead of "check all". Or a debug node that just counts messages with no debug output.

As Dave said, I could also create one and then use copy&paste, provided I'm in the same workspace, else it becomes click-flow-tab-click-node-copy-click-flow-tab-paste instead of drag-drop-from-node-palette.

Why "alias node"? Think of the alias command in bash (or any other shell).

But wait, don't alias nodes disappear on reload? Yes, in my hacky solution they do. That's because alias nodes only exist in the flow editor and aren't defined on the server side. And that's why there is a flow (see node link above) that is triggered by an inject node once on flow restart. I.e. the nodes are recreated each time the flow is restarted.

Why doesn't NR have an inbuilt solution? I don't know. The solution that I built is a hack solution and I noticed it doesn't work for some nodes (or rather certain attributes). But it does save a lot of time and effort always changing the default attributes - I genuine rarely use switch with "check all rules", so I'm constantly modifying the default. I occasionally remember the copy&paste trick but then I end up removing all existing rules from the copy - not optimal, i.e. the original usually has existing rules that are copied along with the setting.

The problem is that creating a visual interface that is generic enough to "design" alias nodes is non-trivial, i.e. how to support so many different option types? Hence I do this in JS code, also having an understanding of each node and their attributes, i.e., debug node is defined by this JS object:

```json
    {
        "id": "7e5745a7cb5c1179",
        "type": "debug",
        "z": "326616b4e24eab2a",
        "name": "debug 1",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 1262,
        "y": 168,
        "wires": []
    }

```

How to get a debug that only counts? The simplest thing to do is create that configuration and then use the export dialog to get at the modified json object:

```json
    {
        "id": "7e5745a7cb5c1179",
        "type": "debug",
        "z": "326616b4e24eab2a",
        "name": "debug 1",
        "active": true,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "counter",
        "x": 1262,
        "y": 168,
        "wires": []
    }

```

Ironically, the best UI for alias node is actually NR itself. If the node config had a "to alias node" button:

 ![Screenshot 2025-12-08 at 09.04.58](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/b/ebe7e0e5c1dcd95f7871f8a6d4dd187a50cfa08a.png)

But again, that button would also suffer from the "it's not that simple for all attributes" issue - the catch node cannot be defined with a default set of nodes - for example.

---

<div class="post-metadata">

**Author:** ![hoolahoous](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hoolahoous/32/16612_2.png) [@hoolahoous](https://discourse.nodered.org/u/hoolahoous)\
**Post date:** [10 January 2026 00:44 UTC](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856/20 "2026-01-10T00:44:45Z")

</div>

I am a an avid NR user,but lately being tempted towards n8n. The main pull of n8n is huge library of integrations with popular services. also a huge library of pre-built automation (including AI) templates.  
I would love to have similar abilities in NR.  
Few suggestions -

1. create official nodes for well known services (google/apple/microsoft/openAI/claude/airtable etc). I know currently NR tries to leave it to community to create these nodes. However integration model used by HomeAssistant would be really nice where there is a library (HACS) of curated nodes with different level of readiness. There is pallet search in NR but that is useful when you know the name of node. It would be nice to have a marketplace which allows easy discovery. Another amazing addition would sharing of full flows.
2. With AI becoming omni-present, some pre-made AI capabilities (LLM nodes, agent node (like n8n's ai node which require minimal coding).

apologies in advance if these are out of scope or not the direction NR wants to take.

[Next page](https://discourse.nodered.org/t/suggestions-for-node-red-5-0/99856.md?page=2)
