new file: monitoring/node-red/data/.config.runtime.json new file: monitoring/node-red/data/.config.runtime.json.backup new file: monitoring/node-red/data/.config.users.json new file: monitoring/node-red/data/.config.users.json.backup new file: monitoring/node-red/data/.flows.json.backup new file: monitoring/node-red/data/.flows_cred.json.backup new file: monitoring/node-red/data/.npm/_cacache/content-v2/sha512/b0/47/c1458664fa9b6a08e9035110b523127a96bd7285d19472dc702f5dc498b927412b0ecd3273708fbf9d61754520599ac0b0e11f3e4c4d4ac784e78d7d97fe new file: monitoring/node-red/data/.npm/_cacache/content-v2/sha512/c2/c2/b64870ea5c5a42b5772106f51123cf684d3c8381de10ccc07d01168d111d0a1ab79ee26fda320b3027c76cfc856119f7b440845a83c9f22d7d731643e62f new file: monitoring/node-red/data/.npm/_cacache/index-v5/15/a4/2638498d877ec2c8c3d88cb9c08d7867c52d3fceb6fc64cc5abde73b01a9 new file: monitoring/node-red/data/.npm/_cacache/index-v5/48/03/b8903b717bbc1ad41b3f37148db48f54e0828c1aef870973f6672895d689 new file: monitoring/node-red/data/.npm/_logs/2026-04-05T01_36_15_515Z-debug-0.log new file: monitoring/node-red/data/context/00b02bbd01c91485/flow.json new file: monitoring/node-red/data/context/global/global.json new file: monitoring/node-red/data/flows.json new file: monitoring/node-red/data/flows_cred.json new file: monitoring/node-red/data/node_modules/.package-lock.json new file: monitoring/node-red/data/node_modules/node-red-debugger/CHANGELOG.md new file: monitoring/node-red/data/node_modules/node-red-debugger/LICENSE new file: monitoring/node-red/data/node_modules/node-red-debugger/README.md new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/flow-debugger.html new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/flow-debugger.js new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/flow-debugger.js.map new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/lib/MessageQueue.js new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/lib/MessageQueue.js.map new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/lib/debugger.js new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/lib/debugger.js.map new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/lib/location.js new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/lib/location.js.map new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/lib/types.js new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/lib/types.js.map new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/locales/en-US/flow-debugger.json new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/locales/ja/flow-debugger.json new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/nr-types.js new file: monitoring/node-red/data/node_modules/node-red-debugger/dist/nr-types.js.map new file: monitoring/node-red/data/node_modules/node-red-debugger/package.json new file: monitoring/node-red/data/node_modules/node-red-debugger/resources/style.css new file: monitoring/node-red/data/package-lock.json new file: monitoring/node-red/data/package.json new file: monitoring/node-red/data/settings.js new file: monitoring/node-red/data/test-container.sh new file: monitoring/node-red/data/test-container.sh.old new file: monitoring/node-red/data/webhook.json
Node-RED Flow Debugger
This module is a Plugin for Node-RED 2.x. It provides a flow debugger with the following features:
- set breakpoints on node inputs or outputs
- pause the runtime manually or when a message arrives at a breakpoint
- once paused you can:
- inspect the queued up messages
- step forward individual messages
- drop messages
Installation
Install this module in your Node-RED user directory or via the Palette Manager then restart Node-RED
npm install node-red-debugger
Usage
The Flow Debugger adds a new sidebar tab in the editor. Select it from the dropdown menu.
By default, the debugger is disabled. Click the 'disabled' toggle button to enable it.
The sidebar has two sections - a list of the breakpoints you have set and a list of any messages queued up in the runtime.
Working with breakpoints
With the debugger enabled, when you hover over a node's port a breakpoint indicator will appear. Move your mouse over the indicator and click once - it will turn solid blue and an entry will appear in the sidebar.
If you click on it again, the breakpoint will be deactivated but remain in place (light blue).
Clicking on it again will remove the breakpoint entirely (dotted outline).
You can also deactive a breakpoint using its checkbox in the sidebar, and remove it by
clicking the x button.
Pausing the runtime
The runtime will by paused whenever a message arrives at an active breakpoint. You can also manually pause the runtime using the pause button in the sidebar.
Once paused, the flow will show how many messages are queued up at each node input and output. Those messages will also be listed in the sidebar - in the order the runtime will process them.
If you click the step button at the top of the sidebar, the runtime will process the next message in the list. You can step individual messages by clicking the step button that appears when you hover over the message.
You can also delete any message from the queue by clicking its delete button. This will prevent the message from passing any further in the flow.
You can click the play button to resume the flows.
Limitations
- Due to the way Subflows work, breakpoints on Subflow outputs will be ignored
Roadmap
- Set conditions on individual breakpoints
- Allow queued messages to be edited
- Pause only selected nodes/flows/groups
Development
This plugin has been developed using TypeScript. This means that when running from the source code rather than npm, it must first be built.
git clone https://github.com/node-red/node-red-debugger.git
cd node-red-debugger
npm install
npm run build
This will generate all of the plugin files in the dist folder - which is where
Node-RED will expect to load the files from.
Then, in your Node-RED user directory (~/.node-red) run:
npm install `<path to node-red-debugger directory>`
Themeing
The Debugger sidebar will use the active Node-RED theme. For the breakpoints drawn within the flow workspace, the following CSS variables will be used if they are set by the active theme.
--red-ui-flow-debugger-breakpoint-fill--red-ui-flow-debugger-breakpoint-stroke--red-ui-flow-debugger-breakpoint-active-fill--red-ui-flow-debugger-breakpoint-active-stroke--red-ui-flow-debugger-breakpoint-inactive-fill--red-ui-flow-debugger-breakpoint-inactive-stroke--red-ui-flow-debugger-breakpoint-label--red-ui-flow-debugger-breakpoint-label-active