Process V8 profiler output generated using the V8 option
Write process warnings to the given file instead of printing to. The file will be created if it does not exist, and will be appended to if it does. If an error occurs while attempting to write the warning to the file, the warning will be written to instead.
Throw errors for deprecations.
Specify an alternative default TLS cipher list.
Requires Node.js to be built with crypto support (default).
Print stack traces for deprecations.
A comma separated list of categories that should be traced when trace event tracing is enabled using
Template string specifying the filepath for the trace event data, it supports and
Enables the collection of trace event tracing information.
Prints a stack trace whenever synchronous I/O is detected after the first turn of the event loop.
Print stack traces for process warnings (including deprecations).
Track heap object allocations for heap snapshots.
Use bundled Mozilla CA store as supplied by current Node.js version or use OpenSSL's default CA store.
The default store is selectable at build-time.
The bundled CA store, as supplied by Node.js, is a snapshot of Mozilla CA store that is fixed at release time.
It is identical on all supported platforms.
Using OpenSSL store allows for external modifications of the store.
For most Linux and BSD distributions, this store is maintained by the distribution maintainers and system administrators.
OpenSSL CA store location is dependent on configuration of the OpenSSL library but this can be altered at runtime using environment variables.
Print V8 command line options.
V8 options allow words to be separated by both dashes or underscores
For example, is equivalent to
Set V8's thread pool size which will be used to allocate background jobs.
If set to then V8 will choose an appropriate size of the thread pool based on the number of online processors.
If the value provided is larger than V8's maximum, then the largest value will be chosen.
Automatically zero-fills all newly allocated and instances.
Syntax check the script without executing.
The modules which are predefined in the REPL can also be used in
On Windows, using a single quote will not work correctly because it only recognizes double for quoting.
In Powershell or Git bash, both and are usable.
Print node command line options.
The output of this option is less detailed than this document.
Opens the REPL even if stdin does not appear to be a terminal.
Identical to but prints the result.
Preload the specified module at startup.
Follows module resolution rules.
may be either a path to a file, or a node module name.
Print node's version.
separated list of core modules that should print debug information.
When set to colors will not be used in the REPL.
When set, the well known "root" CAs (like) will be extended with the extra certificates in
The file should consist of one or more trusted certificates in PEM format.
A message will be emitted (once) with if the file is missing or malformed, but any errors are otherwise ignored.
Note that neither the well known nor extra certificates are used when the options property is explicitly specified for a TLS or HTTPS client or server.
Data path for ICU (object) data.
Will extend linked-in data when compiled with small-icu support.
When set to, process warnings are silenced.
A space-separated list of command line options.
are interpreted as if they had been specified on the command line before the actual command line (so they can be overridden).
Node.js will exit with an error if an option that is not allowed in the environment is used, such as or a script file.
Node options that are allowed are:
V8 options that are allowed are:
separated list of directories prefixed to the module search path.
On Windows, this is a separated list instead.
When set to, emit pending deprecation warnings.
When set to, instructs the module loader to preserve symbolic links when resolving and caching modules.
When set, process warnings will be emitted to the given file instead of printing to
The file will be created if it does not exist, and will be appended to if it does.
If an error occurs while attempting to write the warning to the file, the warning will be written to instead.
This is equivalent to using the command-line flag.
Path to the file used to store the persistent REPL history.
The default path is, which is overridden by this variable.
Setting the value to an empty string disables persistent REPL history.
Load an OpenSSL configuration file on startup.
Among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with
If the command line option is used, the environment variable is ignored.
If is enabled, this overrides and sets OpenSSL's directory containing trusted certificates.
Be aware that unless the child environment is explicitly set, this environment variable will be inherited by any child processes, and if they use OpenSSL, it may cause them to trust the same CAs as node
Set the number of threads used in libuv's threadpool to threads.
Asynchronous system APIs are used by Node.js whenever possible, but where they do not exist, libuv's threadpool is used to create asynchronous node APIs based on synchronous system APIs.
Node.js APIs that use the threadpool are:
all APIs, other than the file watcher APIs and those that are explicitly synchronous
unless it is used without a callback
all APIs, other than those that are explicitly synchronous
Because libuv's threadpool has a fixed size, it means that if for whatever reason any of these APIs takes a long time, other (seemingly unrelated) APIs that run in libuv's threadpool will experience degraded performance.
In order to mitigate this issue, one potential solution is to increase the size of libuv's threadpool by setting the environment variable to a value greater than (its current default value).
For more information, see the libuv threadpool documentation