# Render terminal inside exec nodes using xtermjs (same as vscode)

**URL:** https://discourse.nodered.org/t/render-terminal-inside-exec-nodes-using-xtermjs-same-as-vscode/97352
**Category:** Feature Requests
**Created:** [31 May 2025 14:25 UTC](https://discourse.nodered.org/t/render-terminal-inside-exec-nodes-using-xtermjs-same-as-vscode/97352 "2025-05-31T14:25:47Z")
**Posts on this page:** 5
**Page:** 1

<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: [31 May 2025 14:25 UTC](https://discourse.nodered.org/t/render-terminal-inside-exec-nodes-using-xtermjs-same-as-vscode/97352/1 "2025-05-31T14:25:47Z")

</div>

Render terminal inside exec nodes using xtermjs

> **[GitHub - xtermjs/xterm.js: A terminal for the web](https://github.com/xtermjs/xterm.js/)**
>
> A terminal for the web

Inside an exec node, there can exist a new tab where the terminal is going to be rendered.  
Each spawned process can create a new tab within the terminal tab.  
There should exist a new config prop to let users enable this terminal feature, since it will consume server resources for the streaming stdin/stdout/stderr. Moreover, when the editor is disabled in settings.js, all exec nodes should have this feature disabled by default.

---

<div class="post-metadata">

### Author: ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)
#### Post date: [31 May 2025 14:47 UTC](https://discourse.nodered.org/t/render-terminal-inside-exec-nodes-using-xtermjs-same-as-vscode/97352/2 "2025-05-31T14:47:47Z")

</div>

This already exists in NR, but it's used when installing/updating/removing nodes.

The goal is to display the log, right? So we can use the existing one in a new tab of the `exec` node. I'm not sure how useful it is, but maybe for debugging. Note that what is displayed is what comes out of the node.

---

<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: [31 May 2025 14:53 UTC](https://discourse.nodered.org/t/render-terminal-inside-exec-nodes-using-xtermjs-same-as-vscode/97352/3 "2025-05-31T14:53:46Z")

</div>

> [@GogoVega](#):
>
> Note that what is displayed is what comes out of the node.

Yes, the main goal is debugging. When we have too many exec nodes, sending stdout/stderr in the main process terminal isn't good because everything gets mixed up.  
I also want to use it to interact with the child process interactively with my keyboard (stdin) when running debuggers like the one for Python scripts.

---

<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: [31 May 2025 15:46 UTC](https://discourse.nodered.org/t/render-terminal-inside-exec-nodes-using-xtermjs-same-as-vscode/97352/4 "2025-05-31T15:46:03Z")

</div>

If someone is going to code this in, then if a user has only read-only access to the Editor, they should only have read-only access to the terminal.

---

<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: [30 July 2025 15:46 UTC](https://discourse.nodered.org/t/render-terminal-inside-exec-nodes-using-xtermjs-same-as-vscode/97352/5 "2025-07-30T15:46:48Z")

</div>

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