You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: add an optional Node.js CLI splash banner #66788
Node.js currently starts with no visual acknowledgement when invoked without a script. Developers who use Node.js interactively or in terminal demos have no built-in, opt-in way to display the runtime version and a compact Node.js identity banner.
What is the feature you are proposing to solve the problem?
Add an opt-in CLI flag, such as node --splash, that writes a compact ANSI splash banner to stdout before entering the REPL. The banner would include a Node.js wordmark, process.version, and a short tagline. It should only emit color when the output is a TTY and color is enabled, honor existing color controls such as NO_COLOR/FORCE_COLOR, avoid output when Node.js executes a script or receives piped input, and add no startup overhead unless explicitly requested.
What alternatives have you considered?
A userland script can print a banner (for example, node ~/splash.js), but it requires a separate command and cannot integrate with Node.js CLI color, TTY, and REPL behavior. Shell aliases and third-party REPL wrappers have the same limitation. Keeping the behavior behind an explicit flag avoids changing established CLI output.
Legit I’d be up for implementing this if there’s interest. One question first: the REPL already prints a “Welcome to Node.js vX” line when run interactively, so is the idea here a richer, opt-in replacement for that, or something printed in addition to it?
Also not sure how collaborators feel about adding a CLI flag purely for this. I’ll hold off on a PR until someone from the team weighs in on whether it belongs in core.
When node --splash is passed, the banner would be an opt-in replacement for the default two-line greeting (Welcome to Node.js...), avoiding redundant version lines. The prompt > and .help hint would follow directly underneath.
2. Why a splash banner when we already have the standard welcome text?
Demos, Workshops, and Education: In conferences, classroom settings, screencasts, and terminal captures, a distinct banner provides immediate visual context of the runtime environment and major version at a glance.
Portability across environments: Userland wrapper scripts or shell aliases do not carry over to fresh devcontainers, remote SSH sessions, or temporary cloud instances. Having this built into the binary allows uniform presentation without local dotfile setup.
Alignment with modern CLI standards: Runtimes like Julia, Elixir (iex), and IPython utilize visual banners to reinforce runtime context and provide an engaging interactive experience.
3. Non-Goals & Guarantees
Strictly opt-in: The default node invocation remains completely unchanged—fast, minimal, and unobtrusive.
Strictly interactive: Silently ignored when running a script (node app.js), eval (-e), or reading from piped stdin (cat file | node).
Standard compliance: Respects NO_COLOR, NODE_DISABLE_COLORS, and non-TTY stdout.
If the team prefers not adding a top-level CLI flag, an alternative could be an environment variable (e.g., NODE_REPL_SPLASH=1) or a REPL option.
Activity
DivyanshuX9 commentedon Oct 16, 2026
Legit I’d be up for implementing this if there’s interest. One question first: the REPL already prints a “Welcome to Node.js vX” line when run interactively, so is the idea here a richer, opt-in replacement for that, or something printed in addition to it?
Also not sure how collaborators feel about adding a CLI flag purely for this. I’ll hold off on a PR until someone from the team weighs in on whether it belongs in core.
avivkeller commentedon Oct 17, 2026
Why would we need a splash banner? We have:
MrJithil commentedon Oct 25, 2026
Thanks for the feedback @DivyanshuX9 and @avivkeller!
To clarify the intent and design:
1. Replacement vs. Additive
When
node --splashis passed, the banner would be an opt-in replacement for the default two-line greeting (Welcome to Node.js...), avoiding redundant version lines. The prompt>and.helphint would follow directly underneath.2. Why a splash banner when we already have the standard welcome text?
iex), and IPython utilize visual banners to reinforce runtime context and provide an engaging interactive experience.3. Non-Goals & Guarantees
nodeinvocation remains completely unchanged—fast, minimal, and unobtrusive.node app.js), eval (-e), or reading from piped stdin (cat file | node).NO_COLOR,NODE_DISABLE_COLORS, and non-TTY stdout.If the team prefers not adding a top-level CLI flag, an alternative could be an environment variable (e.g.,
NODE_REPL_SPLASH=1) or a REPL option.