Backspace deletes node #15857

Closed
opened 2026-02-21 19:23:41 -05:00 by yindo · 5 comments
Owner

Originally created by @DavideDelbianco on GitHub (Aug 4, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.7.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

Create a node, when having the node open press backspace

✔️ Expected Behavior

Backspace is a key used to cancel text, and should not delete nodes when no text box is in focus
The official key binding is "DEL"

Image

Actual Behavior

Pressing Backspace can delete a node

Originally created by @DavideDelbianco on GitHub (Aug 4, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.7.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce Create a node, when having the node open press backspace ### ✔️ Expected Behavior Backspace is a key used to cancel text, and should not delete nodes when no text box is in focus The official key binding is "DEL" <img width="273" height="349" alt="Image" src="https://github.com/user-attachments/assets/14d47a4b-147a-46e6-b509-d161bbc15591" /> ### ❌ Actual Behavior Pressing Backspace can delete a node
yindo added the 🐞 bug label 2026-02-21 19:23:41 -05:00
yindo closed this issue 2026-02-21 19:23:41 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Aug 4, 2025):

This is a known bug: in Dify 1.7.1, both the Backspace and Delete keys are bound to node deletion when no text input is focused, so pressing Backspace will delete a node even though only Delete should do so according to the UI and expected behavior. This logic is in the use-shortcuts.ts hook, where both keys are registered for node/edge deletion if the event target is not an input, textarea, or contentEditable element [source].

If you want to fix this in your deployment, edit web/app/components/workflow/hooks/use-shortcuts.ts and change:

useKeyPress(['delete', 'backspace'], (e) => {
  if (shouldHandleShortcut(e)) {
    e.preventDefault()
    handleNodesDelete()
    handleEdgeDelete()
  }
})

to

useKeyPress(['delete'], (e) => {
  if (shouldHandleShortcut(e)) {
    e.preventDefault()
    handleNodesDelete()
    handleEdgeDelete()
  }
})

This will restrict node deletion to only the Delete key. There is no config option for this; it must be changed in code.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

@dosubot[bot] commented on GitHub (Aug 4, 2025): <!-- Answer --> This is a known bug: in Dify 1.7.1, both the Backspace and Delete keys are bound to node deletion when no text input is focused, so pressing Backspace will delete a node even though only Delete should do so according to the UI and expected behavior. This logic is in the `use-shortcuts.ts` hook, where both keys are registered for node/edge deletion if the event target is not an input, textarea, or contentEditable element [[source]](https://github.com/langgenius/dify/blob/8041808b53610275283bf6cbc0a44f8a163da254/web/app/components/workflow/hooks/use-shortcuts.ts). If you want to fix this in your deployment, edit `web/app/components/workflow/hooks/use-shortcuts.ts` and change: ```js useKeyPress(['delete', 'backspace'], (e) => { if (shouldHandleShortcut(e)) { e.preventDefault() handleNodesDelete() handleEdgeDelete() } }) ``` to ```js useKeyPress(['delete'], (e) => { if (shouldHandleShortcut(e)) { e.preventDefault() handleNodesDelete() handleEdgeDelete() } }) ``` This will restrict node deletion to only the Delete key. There is no config option for this; it must be changed in code. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/4be6c633-af0d-44db-9245-d51f51e0e276?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/4be6c633-af0d-44db-9245-d51f51e0e276?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/4be6c633-af0d-44db-9245-d51f51e0e276?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/4be6c633-af0d-44db-9245-d51f51e0e276?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/4be6c633-af0d-44db-9245-d51f51e0e276?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/4be6c633-af0d-44db-9245-d51f51e0e276?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/4be6c633-af0d-44db-9245-d51f51e0e276?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/23354)
Author
Owner

@jubinsoni commented on GitHub (Aug 25, 2025):

@crazywoola should we go ahead with removing del key shortcut ?

my opinion: I personally use del key to delete the node
If I as a user is using it then I'm quite sure that other users may also be using del key shortcut to delete node

@jubinsoni commented on GitHub (Aug 25, 2025): @crazywoola should we go ahead with removing del key shortcut ? my opinion: I personally use del key to delete the node If I as a user is using it then I'm quite sure that other users may also be using del key shortcut to delete node
Author
Owner

@DavideDelbianco commented on GitHub (Aug 25, 2025):

Backspace* is not the default key reported also in the context menu, I don't see why there should be a hidden secondary keybind that is also known to cause troubles

@DavideDelbianco commented on GitHub (Aug 25, 2025): Backspace* is not the default key reported also in the context menu, I don't see why there should be a hidden secondary keybind that is also known to cause troubles
Author
Owner

@crazywoola commented on GitHub (Aug 29, 2025):

There is a DEL key in windows computers, however there is no DEL key for macOS.

@crazywoola commented on GitHub (Aug 29, 2025): There is a DEL key in windows computers, however there is no DEL key for macOS.
Author
Owner

@DavideDelbianco commented on GitHub (Aug 29, 2025):

Never knew it, I have both a PC and a MacBook Pro with DEL key.
Here's the solution 😂

Image
@DavideDelbianco commented on GitHub (Aug 29, 2025): Never knew it, I have both a PC and a MacBook Pro with DEL key. Here's the solution 😂 <img width="1536" height="1024" alt="Image" src="https://github.com/user-attachments/assets/88d3fa63-6bcf-4bef-a250-7f43ba914565" />
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#15857