Skip to content

feat: add an optional Node.js CLI splash banner #66788

Open

Description

@MrJithil

What is the problem this feature will solve?

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.

Activity

  1. DivyanshuX9 commented on Oct 16, 2026

    @DivyanshuX9
    Contributor

    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.

  2. added
    needs more infoIssues awaiting more information or a reproducible example from the author.
    on Oct 17, 2026
  3. avivkeller commented on Oct 17, 2026

    @avivkeller
    Member

    Why would we need a splash banner? We have:

    Welcome to Node.js vX.Y.Z.
    Type ".help" for more information.
    
  4. MrJithil commented on Oct 25, 2026

    @MrJithil
    MemberAuthor

    Thanks for the feedback @DivyanshuX9 and @avivkeller!

    To clarify the intent and design:

    1. Replacement vs. Additive

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestIssues requesting new Node.js features.needs more infoIssues awaiting more information or a reproducible example from the author.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions