# Add confirmation dialog to the deploy button in node red editor

**URL:** <https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904>\
**Category:** Feature Requests\
**Created:** [1 September 2025 04:47 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904 "2025-09-01T04:47:08Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rashi](https://avatars.discourse-cdn.com/v4/letter/r/ee59a6/32.png) [@Rashi](https://discourse.nodered.org/u/Rashi)\
**Post date:** [1 September 2025 04:47 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/1 "2025-09-01T04:47:08Z")

</div>

I would like to add confirmation dialog to the deploy button in node red editor. On OK confirmation, deploy the nodes, and on Cancel do not deploy the nodes

---

<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:** [1 September 2025 06:21 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/2 "2025-09-01T06:21:16Z")

</div>

I think if you have got to the stage of pressing the `DEPLOY` button, you will just have to wait it out.

I know a few (many) times I've accidentally pressed it (not ending the world) but it can be annoying.

Take more care and make sure it is a deliberate action.

---

<div class="post-metadata">

**Author:** ![Frida](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/frida/32/68250_2.png) [@Frida](https://discourse.nodered.org/u/Frida)\
**Post date:** [1 September 2025 06:33 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/3 "2025-09-01T06:33:32Z")

</div>

Another one who wants a lot of clicks.  
I prefer as few clicks as possible.  
I once had a maintenance program that required 18 clicks before the task could be reported as completed.

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [1 September 2025 06:41 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/4 "2025-09-01T06:41:46Z")

</div>

Adding confirmation to Deploy - not a fan of!!!!

We have recently discussed a change that hasn’t gone down well, that added more clicks, so I can’t imagine this will be in favour - what is it with adding clicks everywhere all of a sudden, makes the user experience slow and unnecessary?

And I have moved this post to the correct category  
and removed unrelated tags

---

<div class="post-metadata">

**Author:** ![Rashi](https://avatars.discourse-cdn.com/v4/letter/r/ee59a6/32.png) [@Rashi](https://discourse.nodered.org/u/Rashi)\
**Post date:** [1 September 2025 07:21 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/5 "2025-09-01T07:21:44Z")

</div>

Is there any custom way of doing this? using node-red custom plugins

---

<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:** [1 September 2025 07:21 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/6 "2025-09-01T07:21:50Z")

</div>

Also note that usually Undo continues to work even if you have deployed.

---

<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:** [1 September 2025 07:22 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/7 "2025-09-01T07:22:45Z")

</div>

Maybe have it to update modified nodes.

It would be quicker - maybe.

---

<div class="post-metadata">

**Author:** ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)\
**Post date:** [1 September 2025 07:32 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/8 "2025-09-01T07:32:59Z")

</div>

What workflow is causing a problem that would require making this a multi-step process? (e.g. why is not having a 2 step confirmation a problem?)

The Deploy button is already well out of the way of the canvas, there is a big gap from the burger menu, the only thing that is somewhat close are the sidebar tab buttons and you could use a custom theme to increase that spacing if you want.

---

<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:** [1 September 2025 08:37 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/9 "2025-09-01T08:37:17Z")

</div>

> [@Rashi](#):
>
> Is there any custom way of doing this? using node-red custom plugins

All in favour of the [node-red-contrib-more-clicks](https://duckduckgo.com/?q=node-red-contrib-more-clicks&t=opera&ia=web) package, it could allow a configurable number of extra clicks for any and all actions! /s 😉

Perhaps this feature request would be better formulated as "please allow plugins to configure extra clicks", i.e., make Node-RED more accessible for plugins so that this could be done via a plugin.

AFAIK deplyment is done using an action [`RED.actions.invoke("core:deploy-flows")`](https://github.com/node-red/node-red/blob/9ad329e5a184cbd749f4cacf30ae775d1205eba6/packages/node_modules/%40node-red/editor-client/src/js/ui/deploy.js#L106) which is then linked to [`save`](https://github.com/node-red/node-red/blob/9ad329e5a184cbd749f4cacf30ae775d1205eba6/packages/node_modules/%40node-red/editor-client/src/js/ui/deploy.js#L410) function.

What a plugin could do is remove that action using `RED.actions.remove(...)` and replace it with one that has a confirmation.

Unfortunately this is not as simple as:

```auto
let prevAction = RED.actions.remove("core:deploy-flows")
let newAction = function(args) {
   if (confirm("Really deploy?")) {
      prevAction(args)
   }
}
RED.actions.add("core:deploy-flows",newAction)

```

because [`removeAction`](https://github.com/node-red/node-red/blob/9ad329e5a184cbd749f4cacf30ae775d1205eba6/packages/node_modules/%40node-red/editor-client/src/js/ui/actions.js#L18-L20) does not return the function it's deleting (because [`delete`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete#return_value) doesn't) ☹

Neither is `save` [exported](https://github.com/node-red/node-red/blob/9ad329e5a184cbd749f4cacf30ae775d1205eba6/packages/node_modules/%40node-red/editor-client/src/js/ui/deploy.js#L702-L706) in the deploy module, else another approach would be

```auto
RED.actions.remove("core:deploy-flows")
let newAction = function(args) {
   if (confirm("Really deploy?")) {
      RED.deploy.save(args)
   }
}
RED.actions.add("core:deploy-flows",newAction)

```

So my feature request would be have `RED.actions.remove` return the original function it was linked to so that plugins could overwrite certain actions (all and any actions in fact) to make these "multiple clicks to confirm task" possible via plugins.

After all that would only entail doing this in the removeAction function:

```auto
    function removeAction(name) {
        let returnValue = actions[name];
        return (delete actions[name]) ? returnValue : false;
    }

```

---

<div class="post-metadata">

**Author:** ![AllanOricil](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/allanoricil/32/106911_2.png) [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Post date:** [1 September 2025 11:46 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/10 "2025-09-01T11:46:41Z")

</div>

> [@Frida](#):
>
> Another one who wants a lot of clicks.

Who are you refering to? And why? 🤔

---

<div class="post-metadata">

**Author:** ![AllanOricil](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/allanoricil/32/106911_2.png) [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Post date:** [1 September 2025 11:53 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/11 "2025-09-01T11:53:01Z")

</div>

> [@marcus-j-davies](#):
>
> Adding confirmation to Deploy - not a fan of!!!!

I dont like this too. But it makes sense if there was 2 buttons

"Save" =\> creates a flows.timestamp.json but doesnt apply to flows.json. Why? Browser local/db storage are deleted in some browsers, like Brave, when closing it  
"Save and Apply" =\> default behavior. It can be called "Deploy" still.

With this "extra" button we don't risk losing our changes if the browser is closed during a grid Outage. There is an extra click only if you choose to. The default behavior would be kept.

> [@marcus-j-davies](#):
>
> We have recently discussed a change that hasn’t gone down well, that added more clicks

Which change added more clicks? The Save button in the config panel was useless without my proposal because Users were "Closing and Saving" changes to the node clicking outside of the panel. It did not add "more clicks" because the "old/default behavior" can still run with exactly 1 User action. The difference is that you now have to use a keyboard shortcut, instead of 1 click.

---

<div class="post-metadata">

**Author:** ![Sean-McG](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sean-mcg/32/54677_2.png) [@Sean-McG](https://discourse.nodered.org/u/Sean-McG)\
**Post date:** [1 September 2025 22:20 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/12 "2025-09-01T22:20:30Z")

</div>

> [@AllanOricil](#):
>
> Who are you refering to?

Well if the cap fits 🤣

---

<div class="post-metadata">

**Author:** ![AllanOricil](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/allanoricil/32/106911_2.png) [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Post date:** [1 September 2025 22:42 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/13 "2025-09-01T22:42:35Z")

</div>

I knew it! 🥲

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [2 September 2025 01:06 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/14 "2025-09-02T01:06:35Z")

</div>

I’m also not a fan of this idea. I’ve been using Node-Red for years and have never felt the need for this.

---

<div class="post-metadata">

**Author:** ![Frida](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/frida/32/68250_2.png) [@Frida](https://discourse.nodered.org/u/Frida)\
**Post date:** [2 September 2025 07:10 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/15 "2025-09-02T07:10:21Z")

</div>

See [Clicking outside the editor no longer works](https://discourse.nodered.org/t/clicking-outside-the-editor-no-longer-works/97858)

---

<div class="post-metadata">

**Author:** ![AllanOricil](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/allanoricil/32/106911_2.png) [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Post date:** [2 September 2025 08:58 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/16 "2025-09-02T08:58:41Z")

</div>

Now im no longer sure if im really neurodivergent or just extremely depressive

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [2 October 2025 08:59 UTC](https://discourse.nodered.org/t/add-confirmation-dialog-to-the-deploy-button-in-node-red-editor/98904/17 "2025-10-02T08:59:04Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
