Errors#

Applications running in Node.js will generally experience the followingcategories of errors:

  • Standard JavaScript errors such as<EvalError>,<SyntaxError>,<RangeError>,<ReferenceError>,<TypeError>, and<URIError>.
  • StandardDOMExceptions.
  • System errors triggered by underlying operating system constraints suchas attempting to open a file that does not exist or attempting to send dataover a closed socket.
  • AssertionErrors are a special class of error that can be triggered whenNode.js detects an exceptional logic violation that should never occur. Theseare raised typically by thenode:assert module.
  • User-specified errors triggered by application code.

All JavaScript and system errors raised by Node.js inherit from, or areinstances of, the standard JavaScript<Error> class and are guaranteedto provideat least the properties available on that class.

Theerror.message property of errors raised by Node.js may be changed inany versions. Useerror.code to identify an error instead. For aDOMException, usedomException.name to identify its type.

Error propagation and interception#

Node.js supports several mechanisms for propagating and handling errors thatoccur while an application is running. How these errors are reported andhandled depends entirely on the type ofError and the style of the API that iscalled.

All JavaScript errors are handled as exceptions thatimmediately generateand throw an error using the standard JavaScriptthrow mechanism. Theseare handled using thetry…catch construct provided by theJavaScript language.

// Throws with a ReferenceError because z is not defined.try {const m =1;const n = m + z;}catch (err) {// Handle the error here.}

Any use of the JavaScriptthrow mechanism will raise an exception thatmust be handled or the Node.js process will exit immediately.

With few exceptions,Synchronous APIs (any blocking method that does notreturn a<Promise> nor accept acallback function, such asfs.readFileSync), will usethrow to report errors.

Errors that occur withinAsynchronous APIs may be reported in multiple ways:

  • Some asynchronous methods returns a<Promise>, you should always take intoaccount that it might be rejected. See--unhandled-rejections flag forhow the process will react to an unhandled promise rejection.

    const fs =require('node:fs/promises');(async () => {let data;try {    data =await fs.readFile('a file that does not exist');  }catch (err) {console.error('There was an error reading the file!', err);return;  }// Otherwise handle the data})();
  • Most asynchronous methods that accept acallback function will accept anError object passed as the first argument to that function. If that firstargument is notnull and is an instance ofError, then an error occurredthat should be handled.

    const fs =require('node:fs');fs.readFile('a file that does not exist',(err, data) => {if (err) {console.error('There was an error reading the file!', err);return;  }// Otherwise handle the data});
  • When an asynchronous method is called on an object that is anEventEmitter, errors can be routed to that object's'error' event.

    const net =require('node:net');const connection = net.connect('localhost');// Adding an 'error' event handler to a stream:connection.on('error',(err) => {// If the connection is reset by the server, or if it can't// connect at all, or on any sort of error encountered by// the connection, the error will be sent here.console.error(err);});connection.pipe(process.stdout);
  • A handful of typically asynchronous methods in the Node.js API may stilluse thethrow mechanism to raise exceptions that must be handled usingtry…catch. There is no comprehensive list of such methods; pleaserefer to the documentation of each method to determine the appropriateerror handling mechanism required.

The use of the'error' event mechanism is most common forstream-basedandevent emitter-based APIs, which themselves represent a series ofasynchronous operations over time (as opposed to a single operation that maypass or fail).

ForallEventEmitter objects, if an'error' event handler is notprovided, the error will be thrown, causing the Node.js process to report anuncaught exception and crash unless either: a handler has been registered forthe'uncaughtException' event, or the deprecatednode:domainmodule is used.

constEventEmitter =require('node:events');const ee =newEventEmitter();setImmediate(() => {// This will crash the process because no 'error' event// handler has been added.  ee.emit('error',newError('This will crash'));});

Errors generated in this waycannot be intercepted usingtry…catch asthey are thrownafter the calling code has already exited.

Developers must refer to the documentation for each method to determineexactly how errors raised by those methods are propagated.

Class:Error#

A generic JavaScript<Error> object that does not denote any specificcircumstance of why the error occurred.Error objects capture a "stack trace"detailing the point in the code at which theError was instantiated, and mayprovide a text description of the error.

All errors generated by Node.js, including all system and JavaScript errors,will either be instances of, or inherit from, theError class.

new Error(message[, options])#

Creates a newError object and sets theerror.message property to theprovided text message. If an object is passed asmessage, the text messageis generated by callingString(message). If thecause option is provided,it is assigned to theerror.cause property. Theerror.stack property willrepresent the point in the code at whichnew Error() was called. Stack tracesare dependent onV8's stack trace API. Stack traces extend only to either(a) the beginning ofsynchronous code execution, or (b) the number of framesgiven by the propertyError.stackTraceLimit, whichever is smaller.

Error.captureStackTrace(targetObject[, constructorOpt])#

Creates a.stack property ontargetObject, which when accessed returnsa string representing the location in the code at whichError.captureStackTrace() was called.

const myObject = {};Error.captureStackTrace(myObject);myObject.stack;// Similar to `new Error().stack`

The first line of the trace will be prefixed with${myObject.name}: ${myObject.message}.

The optionalconstructorOpt argument accepts a function. If given, all framesaboveconstructorOpt, includingconstructorOpt, will be omitted from thegenerated stack trace.

TheconstructorOpt argument is useful for hiding implementationdetails of error generation from the user. For instance:

functiona() {b();}functionb() {c();}functionc() {// Create an error without stack trace to avoid calculating the stack trace twice.const { stackTraceLimit } =Error;Error.stackTraceLimit =0;const error =newError();Error.stackTraceLimit = stackTraceLimit;// Capture the stack trace above function bError.captureStackTrace(error, b);// Neither function c, nor b is included in the stack tracethrow error;}a();

Error.stackTraceLimit#

TheError.stackTraceLimit property specifies the number of stack framescollected by a stack trace (whether generated bynew Error().stack orError.captureStackTrace(obj)).

The default value is10 but may be set to any valid JavaScript number. Changeswill affect any stack trace capturedafter the value has been changed.

If set to a non-number value, or set to a negative number, stack traces willnot capture any frames.

error.cause#

Added in: v16.9.0

If present, theerror.cause property is the underlying cause of theError.It is used when catching an error and throwing a new one with a differentmessage or code in order to still have access to the original error.

Theerror.cause property is typically set by callingnew Error(message, { cause }). It is not set by the constructor if thecause option is not provided.

This property allows errors to be chained. When serializingError objects,util.inspect() recursively serializeserror.cause if it is set.

const cause =newError('The remote HTTP server responded with a 500 status');const symptom =newError('The message failed to send', { cause });console.log(symptom);// Prints://   Error: The message failed to send//       at REPL2:1:17//       at Script.runInThisContext (node:vm:130:12)//       ... 7 lines matching cause stack trace ...//       at [_line] [as _line] (node:internal/readline/interface:886:18) {//     [cause]: Error: The remote HTTP server responded with a 500 status//         at REPL1:1:15//         at Script.runInThisContext (node:vm:130:12)//         at REPLServer.defaultEval (node:repl:574:29)//         at bound (node:domain:426:15)//         at REPLServer.runBound [as eval] (node:domain:437:12)//         at REPLServer.onLine (node:repl:902:10)//         at REPLServer.emit (node:events:549:35)//         at REPLServer.emit (node:domain:482:12)//         at [_onLine] [as _onLine] (node:internal/readline/interface:425:12)//         at [_line] [as _line] (node:internal/readline/interface:886:18)

error.code#

Theerror.code property is a string label that identifies the kind of error.error.code is the most stable way to identify an error. It will only changebetween major versions of Node.js. In contrast,error.message strings maychange between any versions of Node.js. SeeNode.js error codes for detailsabout specific codes.

error.message#

Theerror.message property is the string description of the error as set bycallingnew Error(message). Themessage passed to the constructor will alsoappear in the first line of the stack trace of theError, however changingthis property after theError object is createdmay not change the firstline of the stack trace (for example, whenerror.stack is read before thisproperty is changed).

const err =newError('The message');console.error(err.message);// Prints: The message

error.stack#

Theerror.stack property is a string describing the point in the code at whichtheError was instantiated.

Error: Things keep happening!   at /home/gbusey/file.js:525:2   at Frobnicator.refrobulate (/home/gbusey/business-logic.js:424:21)   at Actor.<anonymous> (/home/gbusey/actors.js:400:8)   at increaseSynergy (/home/gbusey/actors.js:701:6)

The first line is formatted as<error class name>: <error message>, andis followed by a series of stack frames (each line beginning with "at ").Each frame describes a call site within the code that lead to the error beinggenerated. V8 attempts to display a name for each function (by variable name,function name, or object method name), but occasionally it will not be able tofind a suitable name. If V8 cannot determine a name for the function, onlylocation information will be displayed for that frame. Otherwise, thedetermined function name will be displayed with location information appendedin parentheses.

Frames are only generated for JavaScript functions. If, for example, executionsynchronously passes through a C++ addon function calledcheetahify whichitself calls a JavaScript function, the frame representing thecheetahify callwill not be present in the stack traces:

const cheetahify =require('./native-binding.node');functionmakeFaster() {// `cheetahify()` *synchronously* calls speedy.cheetahify(functionspeedy() {thrownewError('oh no!');  });}makeFaster();// will throw://   /home/gbusey/file.js:6//       throw new Error('oh no!');//           ^//   Error: oh no!//       at speedy (/home/gbusey/file.js:6:11)//       at makeFaster (/home/gbusey/file.js:5:3)//       at Object.<anonymous> (/home/gbusey/file.js:10:1)//       at Module._compile (module.js:456:26)//       at Object.Module._extensions..js (module.js:474:10)//       at Module.load (module.js:356:32)//       at Function.Module._load (module.js:312:12)//       at Function.Module.runMain (module.js:497:10)//       at startup (node.js:119:16)//       at node.js:906:3

The location information will be one of:

  • native, if the frame represents a call internal to V8 (as in[].forEach).
  • plain-filename.js:line:column, if the frame represents a call internalto Node.js.
  • /absolute/path/to/file.js:line:column, if the frame represents a call ina user program (using CommonJS module system), or its dependencies.
  • <transport-protocol>:///url/to/module/file.mjs:line:column, if the framerepresents a call in a user program (using ES module system), orits dependencies.

The string representing the stack trace is lazily generated when theerror.stack property isaccessed.

The number of frames captured by the stack trace is bounded by the smaller ofError.stackTraceLimit or the number of available frames on the current eventloop tick.

Class:AssertionError#

Indicates the failure of an assertion. For details, seeClass: assert.AssertionError.

Class:RangeError#

Indicates that a provided argument was not within the set or range ofacceptable values for a function; whether that is a numeric range, oroutside the set of options for a given function parameter.

require('node:net').connect(-1);// Throws "RangeError: "port" option should be >= 0 and < 65536: -1"

Node.js will generate and throwRangeError instancesimmediately as a formof argument validation.

Class:ReferenceError#

Indicates that an attempt is being made to access a variable that is notdefined. Such errors commonly indicate typos in code, or an otherwise brokenprogram.

While client code may generate and propagate these errors, in practice, only V8will do so.

doesNotExist;// Throws ReferenceError, doesNotExist is not a variable in this program.

Unless an application is dynamically generating and running code,ReferenceError instances indicate a bug in the code or its dependencies.

Class:SyntaxError#

Indicates that a program is not valid JavaScript. These errors may only begenerated and propagated as a result of code evaluation. Code evaluation mayhappen as a result ofeval,Function,require, orvm. These errorsare almost always indicative of a broken program.

try {require('node:vm').runInThisContext('binary ! isNotOk');}catch (err) {// 'err' will be a SyntaxError.}

SyntaxError instances are unrecoverable in the context that created them –they may only be caught by other contexts.

Class:SystemError#

Node.js generates system errors when exceptions occur within its runtimeenvironment. These usually occur when an application violates an operatingsystem constraint. For example, a system error will occur if an applicationattempts to read a file that does not exist.

  • address<string> If present, the address to which a network connectionfailed
  • code<string> The string error code
  • dest<string> If present, the file path destination when reporting a filesystem error
  • errno<number> The system-provided error number
  • info<Object> If present, extra details about the error condition
  • message<string> A system-provided human-readable description of the error
  • path<string> If present, the file path when reporting a file system error
  • port<number> If present, the network connection port that is not available
  • syscall<string> The name of the system call that triggered the error

error.address#

If present,error.address is a string describing the address to which anetwork connection failed.

error.code#

Theerror.code property is a string representing the error code.

error.dest#

If present,error.dest is the file path destination when reporting a filesystem error.

error.errno#

Theerror.errno property is a negative number which correspondsto the error code defined inlibuv Error handling.

On Windows the error number provided by the system will be normalized by libuv.

To get the string representation of the error code, useutil.getSystemErrorName(error.errno).

error.info#

If present,error.info is an object with details about the error condition.

error.message#

error.message is a system-provided human-readable description of the error.

error.path#

If present,error.path is a string containing a relevant invalid pathname.

error.port#

If present,error.port is the network connection port that is not available.

error.syscall#

Theerror.syscall property is a string describing thesyscall that failed.

Common system errors#

This is a list of system errors commonly-encountered when writing a Node.jsprogram. For a comprehensive list, see theerrno(3) man page.

  • EACCES (Permission denied): An attempt was made to access a file in a wayforbidden by its file access permissions.

  • EADDRINUSE (Address already in use): An attempt to bind a server(net,http, orhttps) to a local address failed due toanother server on the local system already occupying that address.

  • ECONNREFUSED (Connection refused): No connection could be made because thetarget machine actively refused it. This usually results from trying toconnect to a service that is inactive on the foreign host.

  • ECONNRESET (Connection reset by peer): A connection was forcibly closed bya peer. This normally results from a loss of the connection on the remotesocket due to a timeout or reboot. Commonly encountered via thehttpandnet modules.

  • EEXIST (File exists): An existing file was the target of an operation thatrequired that the target not exist.

  • EISDIR (Is a directory): An operation expected a file, but the givenpathname was a directory.

  • EMFILE (Too many open files in system): Maximum number offile descriptors allowable on the system has been reached, andrequests for another descriptor cannot be fulfilled until at least onehas been closed. This is encountered when opening many files at once inparallel, especially on systems (in particular, macOS) where there is a lowfile descriptor limit for processes. To remedy a low limit, runulimit -n 2048 in the same shell that will run the Node.js process.

  • ENOENT (No such file or directory): Commonly raised byfs operationsto indicate that a component of the specified pathname does not exist. Noentity (file or directory) could be found by the given path.

  • ENOTDIR (Not a directory): A component of the given pathname existed, butwas not a directory as expected. Commonly raised byfs.readdir.

  • ENOTEMPTY (Directory not empty): A directory with entries was the targetof an operation that requires an empty directory, usuallyfs.unlink.

  • ENOTFOUND (DNS lookup failed): Indicates a DNS failure of eitherEAI_NODATA orEAI_NONAME. This is not a standard POSIX error.

  • EPERM (Operation not permitted): An attempt was made to perform anoperation that requires elevated privileges.

  • EPIPE (Broken pipe): A write on a pipe, socket, or FIFO for which there isno process to read the data. Commonly encountered at thenet andhttp layers, indicative that the remote side of the stream beingwritten to has been closed.

  • ETIMEDOUT (Operation timed out): A connect or send request failed becausethe connected party did not properly respond after a period of time. Usuallyencountered byhttp ornet. Often a sign that asocket.end()was not properly called.

Class:TypeError#

Indicates that a provided argument is not an allowable type. For example,passing a function to a parameter which expects a string would be aTypeError.

require('node:url').parse(() => { });// Throws TypeError, since it expected a string.

Node.js will generate and throwTypeError instancesimmediately as a formof argument validation.

Exceptions vs. errors#

A JavaScript exception is a value that is thrown as a result of an invalidoperation or as the target of athrow statement. While it is not requiredthat these values are instances ofError or classes which inherit fromError, all exceptions thrown by Node.js or the JavaScript runtimewill beinstances ofError.

Some exceptions areunrecoverable at the JavaScript layer. Such exceptionswillalways cause the Node.js process to crash. Examples includeassert()checks orabort() calls in the C++ layer.

OpenSSL errors#

Errors originating incrypto ortls are of classError, and in addition tothe standard.code and.message properties, may have some additionalOpenSSL-specific properties.

error.opensslErrorStack#

An array of errors that can give context to where in the OpenSSL library anerror originates from.

error.function#

The OpenSSL function the error originates in.

error.library#

The OpenSSL library the error originates in.

error.reason#

A human-readable string describing the reason for the error.

Node.js error codes#

ABORT_ERR#

Added in: v15.0.0

Used when an operation has been aborted (typically using anAbortController).

APIsnot usingAbortSignals typically do not raise an error with this code.

This code does not use the regularERR_* convention Node.js errors use inorder to be compatible with the web platform'sAbortError.

ERR_ACCESS_DENIED#

A special type of error that is triggered whenever Node.js tries to get accessto a resource restricted by thePermission Model.

ERR_AMBIGUOUS_ARGUMENT#

A function argument is being used in a way that suggests that the functionsignature may be misunderstood. This is thrown by thenode:assert module whenthemessage parameter inassert.throws(block, message) matches the errormessage thrown byblock because that usage suggests that the user believesmessage is the expected message rather than the message theAssertionErrorwill display ifblock does not throw.

ERR_ARG_NOT_ITERABLE#

An iterable argument (i.e. a value that works withfor...of loops) wasrequired, but not provided to a Node.js API.

ERR_ASSERTION#

A special type of error that can be triggered whenever Node.js detects anexceptional logic violation that should never occur. These are raised typicallyby thenode:assert module.

ERR_ASYNC_CALLBACK#

An attempt was made to register something that is not a function as anAsyncHooks callback.

ERR_ASYNC_TYPE#

The type of an asynchronous resource was invalid. Users are also ableto define their own types if using the public embedder API.

ERR_BROTLI_COMPRESSION_FAILED#

Data passed to a Brotli stream was not successfully compressed.

ERR_BROTLI_INVALID_PARAM#

An invalid parameter key was passed during construction of a Brotli stream.

ERR_BUFFER_CONTEXT_NOT_AVAILABLE#

An attempt was made to create a Node.jsBuffer instance from addon or embeddercode, while in a JS engine Context that is not associated with a Node.jsinstance. The data passed to theBuffer method will have been releasedby the time the method returns.

When encountering this error, a possible alternative to creating aBufferinstance is to create a normalUint8Array, which only differs in theprototype of the resulting object.Uint8Arrays are generally accepted in allNode.js core APIs whereBuffers are; they are available in all Contexts.

ERR_BUFFER_OUT_OF_BOUNDS#

An operation outside the bounds of aBuffer was attempted.

ERR_BUFFER_TOO_LARGE#

An attempt has been made to create aBuffer larger than the maximum allowedsize.

ERR_CANNOT_WATCH_SIGINT#

Node.js was unable to watch for theSIGINT signal.

ERR_CHILD_CLOSED_BEFORE_REPLY#

A child process was closed before the parent received a reply.

ERR_CHILD_PROCESS_IPC_REQUIRED#

Used when a child process is being forked without specifying an IPC channel.

ERR_CHILD_PROCESS_STDIO_MAXBUFFER#

Used when the main process is trying to read data from the child process'sSTDERR/STDOUT, and the data's length is longer than themaxBuffer option.

ERR_CLOSED_MESSAGE_PORT#

History
VersionChanges
v16.2.0, v14.17.1

The error message was reintroduced.

v11.12.0

The error message was removed.

v10.5.0

Added in: v10.5.0

There was an attempt to use aMessagePort instance in a closedstate, usually after.close() has been called.

ERR_CONSOLE_WRITABLE_STREAM#

Console was instantiated withoutstdout stream, orConsole has anon-writablestdout orstderr stream.

ERR_CONSTRUCT_CALL_INVALID#

Added in: v12.5.0

A class constructor was called that is not callable.

ERR_CONSTRUCT_CALL_REQUIRED#

A constructor for a class was called withoutnew.

ERR_CONTEXT_NOT_INITIALIZED#

The vm context passed into the API is not yet initialized. This could happenwhen an error occurs (and is caught) during the creation of thecontext, for example, when the allocation fails or the maximum call stacksize is reached when the context is created.

ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED#

An OpenSSL engine was requested (for example, through theclientCertEngine orprivateKeyEngine TLS options) that is not supported by the version of OpenSSLbeing used, likely due to the compile-time flagOPENSSL_NO_ENGINE.

ERR_CRYPTO_ECDH_INVALID_FORMAT#

An invalid value for theformat argument was passed to thecrypto.ECDH()classgetPublicKey() method.

ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY#

An invalid value for thekey argument has been passed to thecrypto.ECDH() classcomputeSecret() method. It means that the publickey lies outside of the elliptic curve.

ERR_CRYPTO_ENGINE_UNKNOWN#

An invalid crypto engine identifier was passed torequire('node:crypto').setEngine().

ERR_CRYPTO_FIPS_FORCED#

The--force-fips command-line argument was used but there was an attemptto enable or disable FIPS mode in thenode:crypto module.

ERR_CRYPTO_FIPS_UNAVAILABLE#

An attempt was made to enable or disable FIPS mode, but FIPS mode was notavailable.

ERR_CRYPTO_HASH_FINALIZED#

hash.digest() was called multiple times. Thehash.digest() method mustbe called no more than one time per instance of aHash object.

ERR_CRYPTO_HASH_UPDATE_FAILED#

hash.update() failed for any reason. This should rarely, if ever, happen.

ERR_CRYPTO_INCOMPATIBLE_KEY#

The given crypto keys are incompatible with the attempted operation.

ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS#

The selected public or private key encoding is incompatible with other options.

ERR_CRYPTO_INITIALIZATION_FAILED#

Added in: v15.0.0

Initialization of the crypto subsystem failed.

ERR_CRYPTO_INVALID_AUTH_TAG#

Added in: v15.0.0

An invalid authentication tag was provided.

ERR_CRYPTO_INVALID_COUNTER#

Added in: v15.0.0

An invalid counter was provided for a counter-mode cipher.

ERR_CRYPTO_INVALID_CURVE#

Added in: v15.0.0

An invalid elliptic-curve was provided.

ERR_CRYPTO_INVALID_DIGEST#

An invalidcrypto digest algorithm was specified.

ERR_CRYPTO_INVALID_IV#

Added in: v15.0.0

An invalid initialization vector was provided.

ERR_CRYPTO_INVALID_JWK#

Added in: v15.0.0

An invalid JSON Web Key was provided.

ERR_CRYPTO_INVALID_KEYLEN#

Added in: v15.0.0

An invalid key length was provided.

ERR_CRYPTO_INVALID_KEYPAIR#

Added in: v15.0.0

An invalid key pair was provided.

ERR_CRYPTO_INVALID_KEYTYPE#

Added in: v15.0.0

An invalid key type was provided.

ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE#

The given crypto key object's type is invalid for the attempted operation.

ERR_CRYPTO_INVALID_MESSAGELEN#

Added in: v15.0.0

An invalid message length was provided.

ERR_CRYPTO_INVALID_SCRYPT_PARAMS#

Added in: v15.0.0

One or morecrypto.scrypt() orcrypto.scryptSync() parameters areoutside their legal range.

ERR_CRYPTO_INVALID_STATE#

A crypto method was used on an object that was in an invalid state. Forinstance, callingcipher.getAuthTag() before callingcipher.final().

ERR_CRYPTO_INVALID_TAG_LENGTH#

Added in: v15.0.0

An invalid authentication tag length was provided.

ERR_CRYPTO_JOB_INIT_FAILED#

Added in: v15.0.0

Initialization of an asynchronous crypto operation failed.

ERR_CRYPTO_JWK_UNSUPPORTED_CURVE#

Key's Elliptic Curve is not registered for use in theJSON Web Key Elliptic Curve Registry.

ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE#

Key's Asymmetric Key Type is not registered for use in theJSON Web Key Types Registry.

ERR_CRYPTO_OPERATION_FAILED#

Added in: v15.0.0

A crypto operation failed for an otherwise unspecified reason.

ERR_CRYPTO_PBKDF2_ERROR#

The PBKDF2 algorithm failed for unspecified reasons. OpenSSL does not providemore details and therefore neither does Node.js.

ERR_CRYPTO_SCRYPT_NOT_SUPPORTED#

Node.js was compiled withoutscrypt support. Not possible with the officialrelease binaries but can happen with custom builds, including distro builds.

ERR_CRYPTO_SIGN_KEY_REQUIRED#

A signingkey was not provided to thesign.sign() method.

ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH#

crypto.timingSafeEqual() was called withBuffer,TypedArray, orDataView arguments of different lengths.

ERR_CRYPTO_UNKNOWN_CIPHER#

An unknown cipher was specified.

ERR_CRYPTO_UNKNOWN_DH_GROUP#

An unknown Diffie-Hellman group name was given. Seecrypto.getDiffieHellman() for a list of valid group names.

ERR_CRYPTO_UNSUPPORTED_OPERATION#

Added in: v15.0.0, v14.18.0

An attempt to invoke an unsupported crypto operation was made.

ERR_DEBUGGER_ERROR#

Added in: v16.4.0, v14.17.4

An error occurred with thedebugger.

ERR_DEBUGGER_STARTUP_ERROR#

Added in: v16.4.0, v14.17.4

Thedebugger timed out waiting for the required host/port to be free.

ERR_DIR_CLOSED#

Thefs.Dir was previously closed.

ERR_DIR_CONCURRENT_OPERATION#

Added in: v14.3.0

A synchronous read or close call was attempted on anfs.Dir which hasongoing asynchronous operations.

ERR_DLOPEN_DISABLED#

Added in: v16.10.0, v14.19.0

Loading native addons has been disabled using--no-addons.

ERR_DLOPEN_FAILED#

Added in: v15.0.0

A call toprocess.dlopen() failed.

ERR_DNS_SET_SERVERS_FAILED#

c-ares failed to set the DNS server.

ERR_DOMAIN_CALLBACK_NOT_AVAILABLE#

Thenode:domain module was not usable since it could not establish therequired error handling hooks, becauseprocess.setUncaughtExceptionCaptureCallback() had been called at anearlier point in time.

ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE#

process.setUncaughtExceptionCaptureCallback() could not be calledbecause thenode:domain module has been loaded at an earlier point in time.

The stack trace is extended to include the point in time at which thenode:domain module had been loaded.

ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION#

v8.startupSnapshot.setDeserializeMainFunction() could not be calledbecause it had already been called before.

ERR_ENCODING_INVALID_ENCODED_DATA#

Data provided toTextDecoder() API was invalid according to the encodingprovided.

ERR_ENCODING_NOT_SUPPORTED#

Encoding provided toTextDecoder() API was not one of theWHATWG Supported Encodings.

ERR_EVAL_ESM_CANNOT_PRINT#

--print cannot be used with ESM input.

ERR_EVENT_RECURSION#

Thrown when an attempt is made to recursively dispatch an event onEventTarget.

ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE#

The JS execution context is not associated with a Node.js environment.This may occur when Node.js is used as an embedded library and some hooksfor the JS engine are not set up properly.

ERR_FALSY_VALUE_REJECTION#

APromise that was callbackified viautil.callbackify() was rejected with afalsy value.

ERR_FEATURE_UNAVAILABLE_ON_PLATFORM#

Added in: v14.0.0

Used when a feature that is not availableto the current platform which is running Node.js is used.

ERR_FS_CP_DIR_TO_NON_DIR#

Added in: v16.7.0

An attempt was made to copy a directory to a non-directory (file, symlink,etc.) usingfs.cp().

ERR_FS_CP_EEXIST#

Added in: v16.7.0

An attempt was made to copy over a file that already existed withfs.cp(), with theforce anderrorOnExist set totrue.

ERR_FS_CP_EINVAL#

Added in: v16.7.0

When usingfs.cp(),src ordest pointed to an invalid path.

ERR_FS_CP_FIFO_PIPE#

Added in: v16.7.0

An attempt was made to copy a named pipe withfs.cp().

ERR_FS_CP_NON_DIR_TO_DIR#

Added in: v16.7.0

An attempt was made to copy a non-directory (file, symlink, etc.) to a directoryusingfs.cp().

ERR_FS_CP_SOCKET#

Added in: v16.7.0

An attempt was made to copy to a socket withfs.cp().

ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY#

Added in: v16.7.0

When usingfs.cp(), a symlink indest pointed to a subdirectoryofsrc.

ERR_FS_CP_UNKNOWN#

Added in: v16.7.0

An attempt was made to copy to an unknown file type withfs.cp().

ERR_FS_EISDIR#

Path is a directory.

ERR_FS_FILE_TOO_LARGE#

An attempt has been made to read a file whose size is larger than the maximumallowed size for aBuffer.

ERR_FS_WATCH_QUEUE_OVERFLOW#

The number of file system events queued without being handled exceeded the size specified inmaxQueue infs.watch().

ERR_HTTP2_ALTSVC_INVALID_ORIGIN#

HTTP/2 ALTSVC frames require a valid origin.

ERR_HTTP2_ALTSVC_LENGTH#

HTTP/2 ALTSVC frames are limited to a maximum of 16,382 payload bytes.

ERR_HTTP2_CONNECT_AUTHORITY#

For HTTP/2 requests using theCONNECT method, the:authority pseudo-headeris required.

ERR_HTTP2_CONNECT_PATH#

For HTTP/2 requests using theCONNECT method, the:path pseudo-header isforbidden.

ERR_HTTP2_CONNECT_SCHEME#

For HTTP/2 requests using theCONNECT method, the:scheme pseudo-header isforbidden.

ERR_HTTP2_ERROR#

A non-specific HTTP/2 error has occurred.

ERR_HTTP2_GOAWAY_SESSION#

New HTTP/2 Streams may not be opened after theHttp2Session has received aGOAWAY frame from the connected peer.

ERR_HTTP2_HEADERS_AFTER_RESPOND#

An additional headers was specified after an HTTP/2 response was initiated.

ERR_HTTP2_HEADERS_SENT#

An attempt was made to send multiple response headers.

ERR_HTTP2_HEADER_SINGLE_VALUE#

Multiple values were provided for an HTTP/2 header field that was required tohave only a single value.

ERR_HTTP2_INFO_STATUS_NOT_ALLOWED#

Informational HTTP status codes (1xx) may not be set as the response statuscode on HTTP/2 responses.

ERR_HTTP2_INVALID_CONNECTION_HEADERS#

HTTP/1 connection specific headers are forbidden to be used in HTTP/2requests and responses.

ERR_HTTP2_INVALID_HEADER_VALUE#

An invalid HTTP/2 header value was specified.

ERR_HTTP2_INVALID_INFO_STATUS#

An invalid HTTP informational status code has been specified. Informationalstatus codes must be an integer between100 and199 (inclusive).

ERR_HTTP2_INVALID_ORIGIN#

HTTP/2ORIGIN frames require a valid origin.

ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH#

InputBuffer andUint8Array instances passed to thehttp2.getUnpackedSettings() API must have a length that is a multiple ofsix.

ERR_HTTP2_INVALID_PSEUDOHEADER#

Only valid HTTP/2 pseudoheaders (:status,:path,:authority,:scheme,and:method) may be used.

ERR_HTTP2_INVALID_SESSION#

An action was performed on anHttp2Session object that had already beendestroyed.

ERR_HTTP2_INVALID_SETTING_VALUE#

An invalid value has been specified for an HTTP/2 setting.

ERR_HTTP2_INVALID_STREAM#

An operation was performed on a stream that had already been destroyed.

ERR_HTTP2_MAX_PENDING_SETTINGS_ACK#

Whenever an HTTP/2SETTINGS frame is sent to a connected peer, the peer isrequired to send an acknowledgment that it has received and applied the newSETTINGS. By default, a maximum number of unacknowledgedSETTINGS frames maybe sent at any given time. This error code is used when that limit has beenreached.

ERR_HTTP2_NESTED_PUSH#

An attempt was made to initiate a new push stream from within a push stream.Nested push streams are not permitted.

ERR_HTTP2_NO_MEM#

Out of memory when using thehttp2session.setLocalWindowSize(windowSize) API.

ERR_HTTP2_NO_SOCKET_MANIPULATION#

An attempt was made to directly manipulate (read, write, pause, resume, etc.) asocket attached to anHttp2Session.

ERR_HTTP2_ORIGIN_LENGTH#

HTTP/2ORIGIN frames are limited to a length of 16382 bytes.

ERR_HTTP2_OUT_OF_STREAMS#

The number of streams created on a single HTTP/2 session reached the maximumlimit.

ERR_HTTP2_PAYLOAD_FORBIDDEN#

A message payload was specified for an HTTP response code for which a payload isforbidden.

ERR_HTTP2_PING_CANCEL#

An HTTP/2 ping was canceled.

ERR_HTTP2_PING_LENGTH#

HTTP/2 ping payloads must be exactly 8 bytes in length.

ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED#

An HTTP/2 pseudo-header has been used inappropriately. Pseudo-headers are headerkey names that begin with the: prefix.

ERR_HTTP2_PUSH_DISABLED#

An attempt was made to create a push stream, which had been disabled by theclient.

ERR_HTTP2_SEND_FILE#

An attempt was made to use theHttp2Stream.prototype.responseWithFile() API tosend a directory.

ERR_HTTP2_SEND_FILE_NOSEEK#

An attempt was made to use theHttp2Stream.prototype.responseWithFile() API tosend something other than a regular file, butoffset orlength options wereprovided.

ERR_HTTP2_SESSION_ERROR#

TheHttp2Session closed with a non-zero error code.

ERR_HTTP2_SETTINGS_CANCEL#

TheHttp2Session settings canceled.

ERR_HTTP2_SOCKET_BOUND#

An attempt was made to connect aHttp2Session object to anet.Socket ortls.TLSSocket that had already been bound to anotherHttp2Session object.

ERR_HTTP2_SOCKET_UNBOUND#

An attempt was made to use thesocket property of anHttp2Session thathas already been closed.

ERR_HTTP2_STATUS_101#

Use of the101 Informational status code is forbidden in HTTP/2.

ERR_HTTP2_STATUS_INVALID#

An invalid HTTP status code has been specified. Status codes must be an integerbetween100 and599 (inclusive).

ERR_HTTP2_STREAM_CANCEL#

AnHttp2Stream was destroyed before any data was transmitted to the connectedpeer.

ERR_HTTP2_STREAM_ERROR#

A non-zero error code was been specified in anRST_STREAM frame.

ERR_HTTP2_STREAM_SELF_DEPENDENCY#

When setting the priority for an HTTP/2 stream, the stream may be marked asa dependency for a parent stream. This error code is used when an attempt ismade to mark a stream and dependent of itself.

ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS#

The number of supported custom settings (10) has been exceeded.

ERR_HTTP2_TOO_MANY_INVALID_FRAMES#

Added in: v15.14.0

The limit of acceptable invalid HTTP/2 protocol frames sent by the peer,as specified through themaxSessionInvalidFrames option, has been exceeded.

ERR_HTTP2_TRAILERS_ALREADY_SENT#

Trailing headers have already been sent on theHttp2Stream.

ERR_HTTP2_TRAILERS_NOT_READY#

Thehttp2stream.sendTrailers() method cannot be called until after the'wantTrailers' event is emitted on anHttp2Stream object. The'wantTrailers' event will only be emitted if thewaitForTrailers optionis set for theHttp2Stream.

ERR_HTTP2_UNSUPPORTED_PROTOCOL#

http2.connect() was passed a URL that uses any protocol other thanhttp: orhttps:.

ERR_HTTP_BODY_NOT_ALLOWED#

An error is thrown when writing to an HTTP response which does not allowcontents.

ERR_HTTP_CONTENT_LENGTH_MISMATCH#

Response body size doesn't match with the specified content-length header value.

ERR_HTTP_HEADERS_SENT#

An attempt was made to add more headers after the headers had already been sent.

ERR_HTTP_INVALID_HEADER_VALUE#

An invalid HTTP header value was specified.

ERR_HTTP_INVALID_STATUS_CODE#

Status code was outside the regular status code range (100-999).

ERR_HTTP_REQUEST_TIMEOUT#

The client has not sent the entire request within the allowed time.

ERR_HTTP_SOCKET_ASSIGNED#

The givenServerResponse was already assigned a socket.

ERR_HTTP_SOCKET_ENCODING#

Changing the socket encoding is not allowed perRFC 7230 Section 3.

ERR_HTTP_TRAILER_INVALID#

TheTrailer header was set even though the transfer encoding does not supportthat.

ERR_ILLEGAL_CONSTRUCTOR#

An attempt was made to construct an object using a non-public constructor.

ERR_IMPORT_ATTRIBUTE_MISSING#

Added in: v21.1.0

An import attribute is missing, preventing the specified module to be imported.

ERR_IMPORT_ATTRIBUTE_TYPE_INCOMPATIBLE#

Added in: v21.1.0

An importtype attribute was provided, but the specified module is of adifferent type.

ERR_IMPORT_ATTRIBUTE_UNSUPPORTED#

Added in: v21.0.0, v20.10.0, v18.19.0

An import attribute is not supported by this version of Node.js.

ERR_INCOMPATIBLE_OPTION_PAIR#

An option pair is incompatible with each other and cannot be used at the sametime.

ERR_INPUT_TYPE_NOT_ALLOWED#

The--input-type flag was used to attempt to execute a file. This flag canonly be used with input via--eval,--print, orSTDIN.

ERR_INSPECTOR_ALREADY_ACTIVATED#

While using thenode:inspector module, an attempt was made to activate theinspector when it already started to listen on a port. Useinspector.close()before activating it on a different address.

ERR_INSPECTOR_ALREADY_CONNECTED#

While using thenode:inspector module, an attempt was made to connect when theinspector was already connected.

ERR_INSPECTOR_CLOSED#

While using thenode:inspector module, an attempt was made to use theinspector after the session had already closed.

ERR_INSPECTOR_COMMAND#

An error occurred while issuing a command via thenode:inspector module.

ERR_INSPECTOR_NOT_ACTIVE#

Theinspector is not active wheninspector.waitForDebugger() is called.

ERR_INSPECTOR_NOT_AVAILABLE#

Thenode:inspector module is not available for use.

ERR_INSPECTOR_NOT_CONNECTED#

While using thenode:inspector module, an attempt was made to use theinspector before it was connected.

ERR_INSPECTOR_NOT_WORKER#

An API was called on the main thread that can only be used fromthe worker thread.

ERR_INTERNAL_ASSERTION#

There was a bug in Node.js or incorrect usage of Node.js internals.To fix the error, open an issue athttps://github.com/nodejs/node/issues.

ERR_INVALID_ADDRESS#

The provided address is not understood by the Node.js API.

ERR_INVALID_ADDRESS_FAMILY#

The provided address family is not understood by the Node.js API.

ERR_INVALID_ARG_TYPE#

An argument of the wrong type was passed to a Node.js API.

ERR_INVALID_ARG_VALUE#

An invalid or unsupported value was passed for a given argument.

ERR_INVALID_ASYNC_ID#

An invalidasyncId ortriggerAsyncId was passed usingAsyncHooks. An idless than -1 should never happen.

ERR_INVALID_BUFFER_SIZE#

A swap was performed on aBuffer but its size was not compatible with theoperation.

ERR_INVALID_CHAR#

Invalid characters were detected in headers.

ERR_INVALID_CURSOR_POS#

A cursor on a given stream cannot be moved to a specified row without aspecified column.

ERR_INVALID_FD#

A file descriptor ('fd') was not valid (e.g. it was a negative value).

ERR_INVALID_FD_TYPE#

A file descriptor ('fd') type was not valid.

ERR_INVALID_FILE_URL_HOST#

A Node.js API that consumesfile: URLs (such as certain functions in thefs module) encountered a file URL with an incompatible host. Thissituation can only occur on Unix-like systems where onlylocalhost or an emptyhost is supported.

ERR_INVALID_FILE_URL_PATH#

A Node.js API that consumesfile: URLs (such as certain functions in thefs module) encountered a file URL with an incompatible path. The exactsemantics for determining whether a path can be used is platform-dependent.

ERR_INVALID_HANDLE_TYPE#

An attempt was made to send an unsupported "handle" over an IPC communicationchannel to a child process. Seesubprocess.send() andprocess.send()for more information.

ERR_INVALID_HTTP_TOKEN#

An invalid HTTP token was supplied.

ERR_INVALID_IP_ADDRESS#

An IP address is not valid.

ERR_INVALID_MIME_SYNTAX#

The syntax of a MIME is not valid.

ERR_INVALID_MODULE#

Added in: v15.0.0, v14.18.0

An attempt was made to load a module that does not exist or was otherwise notvalid.

ERR_INVALID_MODULE_SPECIFIER#

The imported module string is an invalid URL, package name, or package subpathspecifier.

ERR_INVALID_OBJECT_DEFINE_PROPERTY#

An error occurred while setting an invalid attribute on the property ofan object.

ERR_INVALID_PACKAGE_CONFIG#

An invalidpackage.json file failed parsing.

ERR_INVALID_PACKAGE_TARGET#

Thepackage.json"exports" field contains an invalid target mappingvalue for the attempted module resolution.

ERR_INVALID_PROTOCOL#

An invalidoptions.protocol was passed tohttp.request().

ERR_INVALID_REPL_EVAL_CONFIG#

BothbreakEvalOnSigint andeval options were set in theREPL config,which is not supported.

ERR_INVALID_REPL_INPUT#

The input may not be used in theREPL. The conditions under which thiserror is used are described in theREPL documentation.

ERR_INVALID_RETURN_PROPERTY#

Thrown in case a function option does not provide a valid value for one of itsreturned object properties on execution.

ERR_INVALID_RETURN_PROPERTY_VALUE#

Thrown in case a function option does not provide an expected valuetype for one of its returned object properties on execution.

ERR_INVALID_RETURN_VALUE#

Thrown in case a function option does not return an expected valuetype on execution, such as when a function is expected to return a promise.

ERR_INVALID_STATE#

Added in: v15.0.0

Indicates that an operation cannot be completed due to an invalid state.For instance, an object may have already been destroyed, or may beperforming another operation.

ERR_INVALID_SYNC_FORK_INPUT#

ABuffer,TypedArray,DataView, orstring was provided as stdio input toan asynchronous fork. See the documentation for thechild_process modulefor more information.

ERR_INVALID_THIS#

A Node.js API function was called with an incompatiblethis value.

const urlSearchParams =newURLSearchParams('foo=bar&baz=new');const buf =Buffer.alloc(1);urlSearchParams.has.call(buf,'foo');// Throws a TypeError with code 'ERR_INVALID_THIS'

ERR_INVALID_TUPLE#

An element in theiterable provided to theWHATWGURLSearchParams constructor did notrepresent a[name, value] tuple – that is, if an element is not iterable, ordoes not consist of exactly two elements.

ERR_INVALID_TYPESCRIPT_SYNTAX#

History
VersionChanges
v23.7.0, v22.14.0

This error is no longer thrown on valid yet unsupported syntax.

v23.0.0, v22.10.0

Added in: v23.0.0, v22.10.0

The provided TypeScript syntax is not valid.

ERR_INVALID_URI#

An invalid URI was passed.

ERR_INVALID_URL#

An invalid URL was passed to theWHATWGURLconstructor or the legacyurl.parse() to be parsed.The thrown error object typically has an additional property'input' thatcontains the URL that failed to parse.

ERR_INVALID_URL_PATTERN#

An invalid URLPattern was passed to theWHATWG [URLPatternconstructor][new URLPattern(input)] to be parsed.

ERR_INVALID_URL_SCHEME#

An attempt was made to use a URL of an incompatible scheme (protocol) for aspecific purpose. It is only used in theWHATWG URL API support in thefs module (which only accepts URLs with'file' scheme), but may be usedin other Node.js APIs as well in the future.

ERR_IPC_CHANNEL_CLOSED#

An attempt was made to use an IPC communication channel that was already closed.

ERR_IPC_DISCONNECTED#

An attempt was made to disconnect an IPC communication channel that was alreadydisconnected. See the documentation for thechild_process modulefor more information.

ERR_IPC_ONE_PIPE#

An attempt was made to create a child Node.js process using more than one IPCcommunication channel. See the documentation for thechild_process modulefor more information.

ERR_IPC_SYNC_FORK#

An attempt was made to open an IPC communication channel with a synchronouslyforked Node.js process. See the documentation for thechild_process modulefor more information.

ERR_IP_BLOCKED#

IP is blocked bynet.BlockList.

ERR_LOADER_CHAIN_INCOMPLETE#

Added in: v18.6.0, v16.17.0

An ESM loader hook returned without callingnext() and without explicitlysignaling a short circuit.

ERR_LOAD_SQLITE_EXTENSION#

Added in: v23.5.0, v22.13.0

An error occurred while loading a SQLite extension.

ERR_MEMORY_ALLOCATION_FAILED#

An attempt was made to allocate memory (usually in the C++ layer) but itfailed.

ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE#

Added in: v14.5.0, v12.19.0

A message posted to aMessagePort could not be deserialized in the targetvmContext. Not all Node.js objects can be successfully instantiated inany context at this time, and attempting to transfer them usingpostMessage()can fail on the receiving side in that case.

ERR_METHOD_NOT_IMPLEMENTED#

A method is required but not implemented.

ERR_MISSING_ARGS#

A required argument of a Node.js API was not passed. This is only used forstrict compliance with the API specification (which in some cases may acceptfunc(undefined) but notfunc()). In most native Node.js APIs,func(undefined) andfunc() are treated identically, and theERR_INVALID_ARG_TYPE error code may be used instead.

ERR_MISSING_OPTION#

For APIs that accept options objects, some options might be mandatory. This codeis thrown if a required option is missing.

ERR_MISSING_PASSPHRASE#

An attempt was made to read an encrypted key without specifying a passphrase.

ERR_MISSING_PLATFORM_FOR_WORKER#

The V8 platform used by this instance of Node.js does not support creatingWorkers. This is caused by lack of embedder support for Workers. In particular,this error will not occur with standard builds of Node.js.

ERR_MODULE_NOT_FOUND#

A module file could not be resolved by the ECMAScript modules loader whileattempting animport operation or when loading the program entry point.

ERR_MULTIPLE_CALLBACK#

A callback was called more than once.

A callback is almost always meant to only be called once as the querycan either be fulfilled or rejected but not both at the same time. The latterwould be possible by calling a callback more than once.

ERR_NAPI_CONS_FUNCTION#

While usingNode-API, a constructor passed was not a function.

ERR_NAPI_INVALID_DATAVIEW_ARGS#

While callingnapi_create_dataview(), a givenoffset was outside the boundsof the dataview oroffset + length was larger than a length of givenbuffer.

ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT#

While callingnapi_create_typedarray(), the providedoffset was not amultiple of the element size.

ERR_NAPI_INVALID_TYPEDARRAY_LENGTH#

While callingnapi_create_typedarray(),(length * size_of_element) + byte_offset was larger than the length of givenbuffer.

ERR_NAPI_TSFN_CALL_JS#

An error occurred while invoking the JavaScript portion of the thread-safefunction.

ERR_NAPI_TSFN_GET_UNDEFINED#

An error occurred while attempting to retrieve the JavaScriptundefinedvalue.

ERR_NON_CONTEXT_AWARE_DISABLED#

A non-context-aware native addon was loaded in a process that disallows them.

ERR_NOT_BUILDING_SNAPSHOT#

An attempt was made to use operations that can only be used when buildingV8 startup snapshot even though Node.js isn't building one.

ERR_NOT_IN_SINGLE_EXECUTABLE_APPLICATION#

Added in: v21.7.0, v20.12.0

The operation cannot be performed when it's not in a single-executableapplication.

ERR_NOT_SUPPORTED_IN_SNAPSHOT#

An attempt was made to perform operations that are not supported whenbuilding a startup snapshot.

ERR_NO_CRYPTO#

An attempt was made to use crypto features while Node.js was not compiled withOpenSSL crypto support.

ERR_NO_ICU#

An attempt was made to use features that requireICU, but Node.js was notcompiled with ICU support.

ERR_NO_TYPESCRIPT#

Added in: v23.0.0, v22.12.0

An attempt was made to use features that requireNative TypeScript support, but Node.js was notcompiled with TypeScript support.

ERR_OPERATION_FAILED#

Added in: v15.0.0

An operation failed. This is typically used to signal the general failureof an asynchronous operation.

ERR_OPTIONS_BEFORE_BOOTSTRAPPING#

Added in: v23.10.0

An attempt was made to get options before the bootstrapping was completed.

ERR_OUT_OF_RANGE#

A given value is out of the accepted range.

ERR_PACKAGE_IMPORT_NOT_DEFINED#

Thepackage.json"imports" field does not define the given internalpackage specifier mapping.

ERR_PACKAGE_PATH_NOT_EXPORTED#

Thepackage.json"exports" field does not export the requested subpath.Because exports are encapsulated, private internal modules that are not exportedcannot be imported through the package resolution, unless using an absolute URL.

ERR_PARSE_ARGS_INVALID_OPTION_VALUE#

Added in: v18.3.0, v16.17.0

Whenstrict set totrue, thrown byutil.parseArgs() if a<boolean>value is provided for an option of type<string>, or if a<string>value is provided for an option of type<boolean>.

ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL#

Added in: v18.3.0, v16.17.0

Thrown byutil.parseArgs(), when a positional argument is provided andallowPositionals is set tofalse.

ERR_PARSE_ARGS_UNKNOWN_OPTION#

Added in: v18.3.0, v16.17.0

Whenstrict set totrue, thrown byutil.parseArgs() if an argumentis not configured inoptions.

ERR_PERFORMANCE_INVALID_TIMESTAMP#

An invalid timestamp value was provided for a performance mark or measure.

ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS#

Invalid options were provided for a performance measure.

ERR_PROTO_ACCESS#

AccessingObject.prototype.__proto__ has been forbidden using--disable-proto=throw.Object.getPrototypeOf andObject.setPrototypeOf should be used to get and set the prototype of anobject.

ERR_QUIC_APPLICATION_ERROR#

Added in: v23.4.0, v22.13.0

Stability: 1 - Experimental

A QUIC application error occurred.

ERR_QUIC_CONNECTION_FAILED#

Added in: v23.0.0, v22.10.0

Stability: 1 - Experimental

Establishing a QUIC connection failed.

ERR_QUIC_ENDPOINT_CLOSED#

Added in: v23.0.0, v22.10.0

Stability: 1 - Experimental

A QUIC Endpoint closed with an error.

ERR_QUIC_OPEN_STREAM_FAILED#

Added in: v23.0.0, v22.10.0

Stability: 1 - Experimental

Opening a QUIC stream failed.

ERR_QUIC_TRANSPORT_ERROR#

Added in: v23.4.0, v22.13.0

Stability: 1 - Experimental

A QUIC transport error occurred.

ERR_QUIC_VERSION_NEGOTIATION_ERROR#

Added in: v23.4.0, v22.13.0

Stability: 1 - Experimental

A QUIC session failed because version negotiation is required.

ERR_REQUIRE_ASYNC_MODULE#

Stability: 1 - Experimental

When trying torequire() aES Module, the module turns out to be asynchronous.That is, it contains top-level await.

To see where the top-level await is, use--experimental-print-required-tla (this would execute the modulesbefore looking for the top-level awaits).

ERR_REQUIRE_CYCLE_MODULE#

Stability: 1 - Experimental

When trying torequire() aES Module, a CommonJS to ESM or ESM to CommonJS edgeparticipates in an immediate cycle.This is not allowed because ES Modules cannot be evaluated while they arealready being evaluated.

To avoid the cycle, therequire() call involved in a cycle should not happenat the top-level of either an ES Module (viacreateRequire()) or a CommonJSmodule, and should be done lazily in an inner function.

ERR_REQUIRE_ESM#

History
VersionChanges
v23.0.0, v22.12.0, v20.19.0

require() now supports loading synchronous ES modules by default.

Stability: 0 - Deprecated

An attempt was made torequire() anES Module.

This error has been deprecated sincerequire() now supports loading synchronousES modules. Whenrequire() encounters an ES module that contains top-levelawait, it will throwERR_REQUIRE_ASYNC_MODULE instead.

ERR_SCRIPT_EXECUTION_INTERRUPTED#

Script execution was interrupted bySIGINT (Forexample,Ctrl+C was pressed.)

ERR_SCRIPT_EXECUTION_TIMEOUT#

Script execution timed out, possibly due to bugs in the script being executed.

ERR_SERVER_ALREADY_LISTEN#

Theserver.listen() method was called while anet.Server was alreadylistening. This applies to all instances ofnet.Server, including HTTP, HTTPS,and HTTP/2Server instances.

ERR_SERVER_NOT_RUNNING#

Theserver.close() method was called when anet.Server was notrunning. This applies to all instances ofnet.Server, including HTTP, HTTPS,and HTTP/2Server instances.

ERR_SINGLE_EXECUTABLE_APPLICATION_ASSET_NOT_FOUND#

Added in: v21.7.0, v20.12.0

A key was passed to single executable application APIs to identify an asset,but no match could be found.

ERR_SOCKET_ALREADY_BOUND#

An attempt was made to bind a socket that has already been bound.

ERR_SOCKET_BAD_BUFFER_SIZE#

An invalid (negative) size was passed for either therecvBufferSize orsendBufferSize options indgram.createSocket().

ERR_SOCKET_BAD_PORT#

An API function expecting a port >= 0 and < 65536 received an invalid value.

ERR_SOCKET_BAD_TYPE#

An API function expecting a socket type (udp4 orudp6) received an invalidvalue.

ERR_SOCKET_BUFFER_SIZE#

While usingdgram.createSocket(), the size of the receive or sendBuffercould not be determined.

ERR_SOCKET_CLOSED#

An attempt was made to operate on an already closed socket.

ERR_SOCKET_CLOSED_BEFORE_CONNECTION#

When callingnet.Socket.write() on a connecting socket and the socket wasclosed before the connection was established.

ERR_SOCKET_CONNECTION_TIMEOUT#

The socket was unable to connect to any address returned by the DNS within theallowed timeout when using the family autoselection algorithm.

ERR_SOCKET_DGRAM_IS_CONNECTED#

Adgram.connect() call was made on an already connected socket.

ERR_SOCKET_DGRAM_NOT_CONNECTED#

Adgram.disconnect() ordgram.remoteAddress() call was made on adisconnected socket.

ERR_SOCKET_DGRAM_NOT_RUNNING#

A call was made and the UDP subsystem was not running.

ERR_SOURCE_MAP_CORRUPT#

The source map could not be parsed because it does not exist, or is corrupt.

ERR_SOURCE_MAP_MISSING_SOURCE#

A file imported from a source map was not found.

ERR_SOURCE_PHASE_NOT_DEFINED#

Added in: v24.0.0

The provided module import does not provide a source phase imports representation for source phaseimport syntaximport source x from 'x' orimport.source(x).

ERR_SQLITE_ERROR#

Added in: v22.5.0

An error was returned fromSQLite.

ERR_SRI_PARSE#

A string was provided for a Subresource Integrity check, but was unable to beparsed. Check the format of integrity attributes by looking at theSubresource Integrity specification.

ERR_STREAM_ALREADY_FINISHED#

A stream method was called that cannot complete because the stream wasfinished.

ERR_STREAM_CANNOT_PIPE#

An attempt was made to callstream.pipe() on aWritable stream.

ERR_STREAM_DESTROYED#

A stream method was called that cannot complete because the stream wasdestroyed usingstream.destroy().

ERR_STREAM_NULL_VALUES#

An attempt was made to callstream.write() with anull chunk.

ERR_STREAM_PREMATURE_CLOSE#

An error returned bystream.finished() andstream.pipeline(), when a streamor a pipeline ends non gracefully with no explicit error.

ERR_STREAM_PUSH_AFTER_EOF#

An attempt was made to callstream.push() after anull(EOF) had beenpushed to the stream.

ERR_STREAM_UNABLE_TO_PIPE#

An attempt was made to pipe to a closed or destroyed stream in a pipeline.

ERR_STREAM_UNSHIFT_AFTER_END_EVENT#

An attempt was made to callstream.unshift() after the'end' event wasemitted.

ERR_STREAM_WRAP#

Prevents an abort if a string decoder was set on the Socket or if the decoderis inobjectMode.

constSocket =require('node:net').Socket;const instance =newSocket();instance.setEncoding('utf8');

ERR_STREAM_WRITE_AFTER_END#

An attempt was made to callstream.write() afterstream.end() has beencalled.

ERR_STRING_TOO_LONG#

An attempt has been made to create a string longer than the maximum allowedlength.

ERR_SYNTHETIC#

An artificial error object used to capture the call stack for diagnosticreports.

ERR_SYSTEM_ERROR#

An unspecified or non-specific system error has occurred within the Node.jsprocess. The error object will have anerr.info object property withadditional details.

ERR_TEST_FAILURE#

This error represents a failed test. Additional information about the failureis available via thecause property. ThefailureType property specifieswhat the test was doing when the failure occurred.

ERR_TLS_ALPN_CALLBACK_INVALID_RESULT#

This error is thrown when anALPNCallback returns a value that is not in thelist of ALPN protocols offered by the client.

ERR_TLS_ALPN_CALLBACK_WITH_PROTOCOLS#

This error is thrown when creating aTLSServer if the TLS options includebothALPNProtocols andALPNCallback. These options are mutually exclusive.

ERR_TLS_CERT_ALTNAME_FORMAT#

This error is thrown bycheckServerIdentity if a user-suppliedsubjectaltname property violates encoding rules. Certificate objects producedby Node.js itself always comply with encoding rules and will never causethis error.

ERR_TLS_CERT_ALTNAME_INVALID#

While using TLS, the host name/IP of the peer did not match any of thesubjectAltNames in its certificate.

ERR_TLS_DH_PARAM_SIZE#

While using TLS, the parameter offered for the Diffie-Hellman (DH)key-agreement protocol is too small. By default, the key length must be greaterthan or equal to 1024 bits to avoid vulnerabilities, even though it is stronglyrecommended to use 2048 bits or larger for stronger security.

ERR_TLS_HANDSHAKE_TIMEOUT#

A TLS/SSL handshake timed out. In this case, the server must also abort theconnection.

ERR_TLS_INVALID_CONTEXT#

Added in: v13.3.0

The context must be aSecureContext.

ERR_TLS_INVALID_PROTOCOL_METHOD#

The specifiedsecureProtocol method is invalid. It is either unknown, ordisabled because it is insecure.

ERR_TLS_INVALID_PROTOCOL_VERSION#

Valid TLS protocol versions are'TLSv1','TLSv1.1', or'TLSv1.2'.

ERR_TLS_INVALID_STATE#

Added in: v13.10.0, v12.17.0

The TLS socket must be connected and securely established. Ensure the 'secure'event is emitted before continuing.

ERR_TLS_PROTOCOL_VERSION_CONFLICT#

Attempting to set a TLS protocolminVersion ormaxVersion conflicts with anattempt to set thesecureProtocol explicitly. Use one mechanism or the other.

ERR_TLS_PSK_SET_IDENTITY_HINT_FAILED#

Failed to set PSK identity hint. Hint may be too long.

ERR_TLS_RENEGOTIATION_DISABLED#

An attempt was made to renegotiate TLS on a socket instance with renegotiationdisabled.

ERR_TLS_REQUIRED_SERVER_NAME#

While using TLS, theserver.addContext() method was called without providinga host name in the first parameter.

ERR_TLS_SESSION_ATTACK#

An excessive amount of TLS renegotiations is detected, which is a potentialvector for denial-of-service attacks.

ERR_TLS_SNI_FROM_SERVER#

An attempt was made to issue Server Name Indication from a TLS server-sidesocket, which is only valid from a client.

ERR_TRACE_EVENTS_CATEGORY_REQUIRED#

Thetrace_events.createTracing() method requires at least one trace eventcategory.

ERR_TRACE_EVENTS_UNAVAILABLE#

Thenode:trace_events module could not be loaded because Node.js was compiledwith the--without-v8-platform flag.

ERR_TRAILING_JUNK_AFTER_STREAM_END#

Trailing junk found after the end of the compressed stream.This error is thrown when extra, unexpected data is detectedafter the end of a compressed stream (for example, in zlibor gzip decompression).

ERR_TRANSFORM_ALREADY_TRANSFORMING#

ATransform stream finished while it was still transforming.

ERR_TRANSFORM_WITH_LENGTH_0#

ATransform stream finished with data still in the write buffer.

ERR_TTY_INIT_FAILED#

The initialization of a TTY failed due to a system error.

ERR_UNAVAILABLE_DURING_EXIT#

Function was called within aprocess.on('exit') handler that shouldn't becalled withinprocess.on('exit') handler.

ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET#

process.setUncaughtExceptionCaptureCallback() was called twice,without first resetting the callback tonull.

This error is designed to prevent accidentally overwriting a callback registeredfrom another module.

ERR_UNESCAPED_CHARACTERS#

A string that contained unescaped characters was received.

ERR_UNHANDLED_ERROR#

An unhandled error occurred (for instance, when an'error' event is emittedby anEventEmitter but an'error' handler is not registered).

ERR_UNKNOWN_BUILTIN_MODULE#

Used to identify a specific kind of internal Node.js error that should nottypically be triggered by user code. Instances of this error point to aninternal bug within the Node.js binary itself.

ERR_UNKNOWN_CREDENTIAL#

A Unix group or user identifier that does not exist was passed.

ERR_UNKNOWN_ENCODING#

An invalid or unknown encoding option was passed to an API.

ERR_UNKNOWN_FILE_EXTENSION#

An attempt was made to load a module with an unknown or unsupported fileextension.

ERR_UNKNOWN_MODULE_FORMAT#

An attempt was made to load a module with an unknown or unsupported format.

ERR_UNKNOWN_SIGNAL#

An invalid or unknown process signal was passed to an API expecting a validsignal (such assubprocess.kill()).

ERR_UNSUPPORTED_DIR_IMPORT#

import a directory URL is unsupported. Instead,self-reference a package using its name anddefine a custom subpath inthe"exports" field of thepackage.json file.

import'./';// unsupportedimport'./index.js';// supportedimport'package-name';// supported

ERR_UNSUPPORTED_ESM_URL_SCHEME#

import with URL schemes other thanfile anddata is unsupported.

ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING#

Added in: v22.6.0

Type stripping is not supported for files descendent of anode_modules directory.

ERR_UNSUPPORTED_RESOLVE_REQUEST#

An attempt was made to resolve an invalid module referrer. This can happen whenimporting or callingimport.meta.resolve() with either:

  • a bare specifier that is not a builtin module from a module whose URL schemeis notfile.
  • arelative URL from a module whose URL scheme is not aspecial scheme.
try {// Trying to import the package 'bare-specifier' from a `data:` URL module:awaitimport('data:text/javascript,import "bare-specifier"');}catch (e) {console.log(e.code);// ERR_UNSUPPORTED_RESOLVE_REQUEST}

ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX#

Added in: v23.7.0, v22.14.0

The provided TypeScript syntax is unsupported.This could happen when using TypeScript syntax that requirestransformation withtype-stripping.

ERR_USE_AFTER_CLOSE#

An attempt was made to use something that was already closed.

ERR_VALID_PERFORMANCE_ENTRY_TYPE#

While using the Performance Timing API (perf_hooks), no valid performanceentry types are found.

ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING#

A dynamic import callback was not specified.

ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING_FLAG#

A dynamic import callback was invoked without--experimental-vm-modules.

ERR_VM_MODULE_ALREADY_LINKED#

The module attempted to be linked is not eligible for linking, because of one ofthe following reasons:

  • It has already been linked (linkingStatus is'linked')
  • It is being linked (linkingStatus is'linking')
  • Linking has failed for this module (linkingStatus is'errored')

ERR_VM_MODULE_CACHED_DATA_REJECTED#

ThecachedData option passed to a module constructor is invalid.

ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA#

Cached data cannot be created for modules which have already been evaluated.

ERR_VM_MODULE_DIFFERENT_CONTEXT#

The module being returned from the linker function is from a different contextthan the parent module. Linked modules must share the same context.

ERR_VM_MODULE_LINK_FAILURE#

The module was unable to be linked due to a failure.

ERR_VM_MODULE_NOT_MODULE#

The fulfilled value of a linking promise is not avm.Module object.

ERR_VM_MODULE_STATUS#

The current module's status does not allow for this operation. The specificmeaning of the error depends on the specific function.

ERR_WASI_ALREADY_STARTED#

The WASI instance has already started.

ERR_WASI_NOT_STARTED#

The WASI instance has not been started.

ERR_WEBASSEMBLY_RESPONSE#

Added in: v18.1.0

TheResponse that has been passed toWebAssembly.compileStreaming or toWebAssembly.instantiateStreaming is not a valid WebAssembly response.

ERR_WORKER_INIT_FAILED#

TheWorker initialization failed.

ERR_WORKER_INVALID_EXEC_ARGV#

TheexecArgv option passed to theWorker constructor containsinvalid flags.

ERR_WORKER_MESSAGING_ERRORED#

Added in: v22.5.0

Stability: 1.1 - Active development

The destination thread threw an error while processing a message sent viapostMessageToThread().

ERR_WORKER_MESSAGING_FAILED#

Added in: v22.5.0

Stability: 1.1 - Active development

The thread requested inpostMessageToThread() is invalid or has noworkerMessage listener.

ERR_WORKER_MESSAGING_SAME_THREAD#

Added in: v22.5.0

Stability: 1.1 - Active development

The thread id requested inpostMessageToThread() is the current thread id.

ERR_WORKER_MESSAGING_TIMEOUT#

Added in: v22.5.0

Stability: 1.1 - Active development

Sending a message viapostMessageToThread() timed out.

ERR_WORKER_NOT_RUNNING#

An operation failed because theWorker instance is not currently running.

ERR_WORKER_OUT_OF_MEMORY#

TheWorker instance terminated because it reached its memory limit.

ERR_WORKER_PATH#

The path for the main script of a worker is neither an absolute pathnor a relative path starting with./ or../.

ERR_WORKER_UNSERIALIZABLE_ERROR#

All attempts at serializing an uncaught exception from a worker thread failed.

ERR_WORKER_UNSUPPORTED_OPERATION#

The requested functionality is not supported in worker threads.

ERR_ZLIB_INITIALIZATION_FAILED#

Creation of azlib object failed due to incorrect configuration.

ERR_ZSTD_INVALID_PARAM#

An invalid parameter key was passed during construction of a Zstd stream.

HPE_CHUNK_EXTENSIONS_OVERFLOW#

Added in: v21.6.2, v20.11.1, v18.19.1

Too much data was received for a chunk extensions. In order to protect againstmalicious or malconfigured clients, if more than 16 KiB of data is receivedthen anError with this code will be emitted.

HPE_HEADER_OVERFLOW#

History
VersionChanges
v11.4.0, v10.15.0

Max header size inhttp_parser was set to 8 KiB.

Too much HTTP header data was received. In order to protect against malicious ormalconfigured clients, if more thanmaxHeaderSize of HTTP header data is received thenHTTP parsing will abort without a request or response object being created, andanError with this code will be emitted.

HPE_UNEXPECTED_CONTENT_LENGTH#

Server is sending both aContent-Length header andTransfer-Encoding: chunked.

Transfer-Encoding: chunked allows the server to maintain an HTTP persistentconnection for dynamically generated content.In this case, theContent-Length HTTP header cannot be used.

UseContent-Length orTransfer-Encoding: chunked.

MODULE_NOT_FOUND#

History
VersionChanges
v12.0.0

AddedrequireStack property.

A module file could not be resolved by the CommonJS modules loader whileattempting arequire() operation or when loading the program entry point.

Legacy Node.js error codes#

Stability: 0 - Deprecated. These error codes are either inconsistent, or havebeen removed.

ERR_CANNOT_TRANSFER_OBJECT#

Added in: v10.5.0Removed in: v12.5.0

The value passed topostMessage() contained an object that is not supportedfor transferring.

ERR_CPU_USAGE#

Removed in: v15.0.0

The native call fromprocess.cpuUsage could not be processed.

ERR_CRYPTO_HASH_DIGEST_NO_UTF16#

Added in: v9.0.0Removed in: v12.12.0

The UTF-16 encoding was used withhash.digest(). While thehash.digest() method does allow anencoding argument to be passed in,causing the method to return a string rather than aBuffer, the UTF-16encoding (e.g.ucs orutf16le) is not supported.

ERR_CRYPTO_SCRYPT_INVALID_PARAMETER#

Removed in: v23.0.0

An incompatible combination of options was passed tocrypto.scrypt() orcrypto.scryptSync(). New versions of Node.js use the error codeERR_INCOMPATIBLE_OPTION_PAIR instead, which is consistent with other APIs.

ERR_FS_INVALID_SYMLINK_TYPE#

Removed in: v23.0.0

An invalid symlink type was passed to thefs.symlink() orfs.symlinkSync() methods.

ERR_HTTP2_FRAME_ERROR#

Added in: v9.0.0Removed in: v10.0.0

Used when a failure occurs sending an individual frame on the HTTP/2session.

ERR_HTTP2_HEADERS_OBJECT#

Added in: v9.0.0Removed in: v10.0.0

Used when an HTTP/2 Headers Object is expected.

ERR_HTTP2_HEADER_REQUIRED#

Added in: v9.0.0Removed in: v10.0.0

Used when a required header is missing in an HTTP/2 message.

ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND#

Added in: v9.0.0Removed in: v10.0.0

HTTP/2 informational headers must only be sentprior to calling theHttp2Stream.prototype.respond() method.

ERR_HTTP2_STREAM_CLOSED#

Added in: v9.0.0Removed in: v10.0.0

Used when an action has been performed on an HTTP/2 Stream that has alreadybeen closed.

ERR_HTTP_INVALID_CHAR#

Added in: v9.0.0Removed in: v10.0.0

Used when an invalid character is found in an HTTP response status message(reason phrase).

ERR_IMPORT_ASSERTION_TYPE_FAILED#

Added in: v17.1.0, v16.14.0Removed in: v21.1.0

An import assertion has failed, preventing the specified module to be imported.

ERR_IMPORT_ASSERTION_TYPE_MISSING#

Added in: v17.1.0, v16.14.0Removed in: v21.1.0

An import assertion is missing, preventing the specified module to be imported.

ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED#

Added in: v17.1.0, v16.14.0Removed in: v21.1.0

An import attribute is not supported by this version of Node.js.

ERR_INDEX_OUT_OF_RANGE#

Added in: v10.0.0Removed in: v11.0.0

A given index was out of the accepted range (e.g. negative offsets).

ERR_INVALID_OPT_VALUE#

Added in: v8.0.0Removed in: v15.0.0

An invalid or unexpected value was passed in an options object.

ERR_INVALID_OPT_VALUE_ENCODING#

Added in: v9.0.0Removed in: v15.0.0

An invalid or unknown file encoding was passed.

ERR_INVALID_PERFORMANCE_MARK#

Added in: v8.5.0Removed in: v16.7.0

While using the Performance Timing API (perf_hooks), a performance mark isinvalid.

ERR_INVALID_TRANSFER_OBJECT#

History
VersionChanges
v21.0.0

ADOMException is thrown instead.

v21.0.0

Removed in: v21.0.0

An invalid transfer object was passed topostMessage().

ERR_MANIFEST_ASSERT_INTEGRITY#

Removed in: v22.2.0

An attempt was made to load a resource, but the resource did not match theintegrity defined by the policy manifest. See the documentation for policymanifests for more information.

ERR_MANIFEST_DEPENDENCY_MISSING#

Removed in: v22.2.0

An attempt was made to load a resource, but the resource was not listed as adependency from the location that attempted to load it. See the documentationfor policy manifests for more information.

ERR_MANIFEST_INTEGRITY_MISMATCH#

Removed in: v22.2.0

An attempt was made to load a policy manifest, but the manifest had multipleentries for a resource which did not match each other. Update the manifestentries to match in order to resolve this error. See the documentation forpolicy manifests for more information.

ERR_MANIFEST_INVALID_RESOURCE_FIELD#

Removed in: v22.2.0

A policy manifest resource had an invalid value for one of its fields. Updatethe manifest entry to match in order to resolve this error. See thedocumentation for policy manifests for more information.

ERR_MANIFEST_INVALID_SPECIFIER#

Removed in: v22.2.0

A policy manifest resource had an invalid value for one of its dependencymappings. Update the manifest entry to match to resolve this error. See thedocumentation for policy manifests for more information.

ERR_MANIFEST_PARSE_POLICY#

Removed in: v22.2.0

An attempt was made to load a policy manifest, but the manifest was unable tobe parsed. See the documentation for policy manifests for more information.

ERR_MANIFEST_TDZ#

Removed in: v22.2.0

An attempt was made to read from a policy manifest, but the manifestinitialization has not yet taken place. This is likely a bug in Node.js.

ERR_MANIFEST_UNKNOWN_ONERROR#

Removed in: v22.2.0

A policy manifest was loaded, but had an unknown value for its "onerror"behavior. See the documentation for policy manifests for more information.

ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST#

Removed in: v15.0.0

This error code was replaced byERR_MISSING_TRANSFERABLE_IN_TRANSFER_LISTin Node.js v15.0.0, because it is no longer accurate as other types oftransferable objects also exist now.

ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST#

History
VersionChanges
v21.0.0

ADOMException is thrown instead.

v21.0.0

Removed in: v21.0.0

v15.0.0

Added in: v15.0.0

An object that needs to be explicitly listed in thetransferList argumentis in the object passed to apostMessage() call, but is not providedin thetransferList for that call. Usually, this is aMessagePort.

In Node.js versions prior to v15.0.0, the error code being used here wasERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST. However, the set oftransferable object types has been expanded to cover more types thanMessagePort.

ERR_NAPI_CONS_PROTOTYPE_OBJECT#

Added in: v9.0.0Removed in: v10.0.0

Used by theNode-API whenConstructor.prototype is not an object.

ERR_NAPI_TSFN_START_IDLE_LOOP#

Added in: v10.6.0, v8.16.0Removed in: v14.2.0, v12.17.0

On the main thread, values are removed from the queue associated with thethread-safe function in an idle loop. This error indicates that an errorhas occurred when attempting to start the loop.

ERR_NAPI_TSFN_STOP_IDLE_LOOP#

Added in: v10.6.0, v8.16.0Removed in: v14.2.0, v12.17.0

Once no more items are left in the queue, the idle loop must be suspended. Thiserror indicates that the idle loop has failed to stop.

ERR_NO_LONGER_SUPPORTED#

A Node.js API was called in an unsupported manner, such asBuffer.write(string, encoding, offset[, length]).

ERR_OUTOFMEMORY#

Added in: v9.0.0Removed in: v10.0.0

Used generically to identify that an operation caused an out of memorycondition.

ERR_PARSE_HISTORY_DATA#

Added in: v9.0.0Removed in: v10.0.0

Thenode:repl module was unable to parse data from the REPL history file.

ERR_SOCKET_CANNOT_SEND#

Added in: v9.0.0Removed in: v14.0.0

Data could not be sent on a socket.

ERR_STDERR_CLOSE#

History
VersionChanges
v10.12.0

Rather than emitting an error,process.stderr.end() now only closes the stream side but not the underlying resource, making this error obsolete.

v10.12.0

Removed in: v10.12.0

An attempt was made to close theprocess.stderr stream. By design, Node.jsdoes not allowstdout orstderr streams to be closed by user code.

ERR_STDOUT_CLOSE#

History
VersionChanges
v10.12.0

Rather than emitting an error,process.stderr.end() now only closes the stream side but not the underlying resource, making this error obsolete.

v10.12.0

Removed in: v10.12.0

An attempt was made to close theprocess.stdout stream. By design, Node.jsdoes not allowstdout orstderr streams to be closed by user code.

ERR_STREAM_READ_NOT_IMPLEMENTED#

Added in: v9.0.0Removed in: v10.0.0

Used when an attempt is made to use a readable stream that has not implementedreadable._read().

ERR_TAP_LEXER_ERROR#

An error representing a failing lexer state.

ERR_TAP_PARSER_ERROR#

An error representing a failing parser state. Additional information aboutthe token causing the error is available via thecause property.

ERR_TAP_VALIDATION_ERROR#

This error represents a failed TAP validation.

ERR_TLS_RENEGOTIATION_FAILED#

Added in: v9.0.0Removed in: v10.0.0

Used when a TLS renegotiation request has failed in a non-specific way.

ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER#

Added in: v10.5.0Removed in: v14.0.0

ASharedArrayBuffer whose memory is not managed by the JavaScript engineor by Node.js was encountered during serialization. Such aSharedArrayBuffercannot be serialized.

This can only happen when native addons createSharedArrayBuffers in"externalized" mode, or put existingSharedArrayBuffer into externalized mode.

ERR_UNKNOWN_STDIN_TYPE#

Added in: v8.0.0Removed in: v11.7.0

An attempt was made to launch a Node.js process with an unknownstdin filetype. This error is usually an indication of a bug within Node.js itself,although it is possible for user code to trigger it.

ERR_UNKNOWN_STREAM_TYPE#

Added in: v8.0.0Removed in: v11.7.0

An attempt was made to launch a Node.js process with an unknownstdout orstderr file type. This error is usually an indication of a bug within Node.jsitself, although it is possible for user code to trigger it.

ERR_V8BREAKITERATOR#

The V8BreakIterator API was used but the full ICU data set is not installed.

ERR_VALUE_OUT_OF_RANGE#

Added in: v9.0.0Removed in: v10.0.0

Used when a given value is out of the accepted range.

ERR_VM_MODULE_LINKING_ERRORED#

Added in: v10.0.0Removed in: v18.1.0, v16.17.0

The linker function returned a module for which linking has failed.

ERR_VM_MODULE_NOT_LINKED#

The module must be successfully linked before instantiation.

ERR_WORKER_UNSUPPORTED_EXTENSION#

Added in: v11.0.0Removed in: v16.9.0

The pathname used for the main script of a worker has anunknown file extension.

ERR_ZLIB_BINDING_CLOSED#

Added in: v9.0.0Removed in: v10.0.0

Used when an attempt is made to use azlib object after it has already beenclosed.

OpenSSL Error Codes#

Time Validity Errors#

CERT_NOT_YET_VALID#

The certificate is not yet valid: the notBefore date is after the current time.

CERT_HAS_EXPIRED#

The certificate has expired: the notAfter date is before the current time.

CRL_NOT_YET_VALID#

The certificate revocation list (CRL) has a future issue date.

CRL_HAS_EXPIRED#

The certificate revocation list (CRL) has expired.

CERT_REVOKED#

The certificate has been revoked; it is on a certificate revocation list (CRL).

Trust or Chain Related Errors#

UNABLE_TO_GET_ISSUER_CERT#

The issuer certificate of a looked up certificate could not be found. Thisnormally means the list of trusted certificates is not complete.

UNABLE_TO_GET_ISSUER_CERT_LOCALLY#

The certificate’s issuer is not known. This is the case if the issuer is notincluded in the trusted certificate list.

DEPTH_ZERO_SELF_SIGNED_CERT#

The passed certificate is self-signed and the same certificate cannot be foundin the list of trusted certificates.

SELF_SIGNED_CERT_IN_CHAIN#

The certificate’s issuer is not known. This is the case if the issuer is notincluded in the trusted certificate list.

CERT_CHAIN_TOO_LONG#

The certificate chain length is greater than the maximum depth.

UNABLE_TO_GET_CRL#

The CRL reference by the certificate could not be found.

UNABLE_TO_VERIFY_LEAF_SIGNATURE#

No signatures could be verified because the chain contains only one certificateand it is not self signed.

CERT_UNTRUSTED#

The root certificate authority (CA) is not marked as trusted for the specifiedpurpose.

Basic Extension Errors#

INVALID_CA#

A CA certificate is invalid. Either it is not a CA or its extensions are notconsistent with the supplied purpose.

PATH_LENGTH_EXCEEDED#

The basicConstraints pathlength parameter has been exceeded.

Name Related Errors#

HOSTNAME_MISMATCH#

Certificate does not match provided name.

Usage and Policy Errors#

INVALID_PURPOSE#

The supplied certificate cannot be used for the specified purpose.

CERT_REJECTED#

The root CA is marked to reject the specified purpose.

Formatting Errors#

CERT_SIGNATURE_FAILURE#

The signature of the certificate is invalid.

CRL_SIGNATURE_FAILURE#

The signature of the certificate revocation list (CRL) is invalid.

ERROR_IN_CERT_NOT_BEFORE_FIELD#

The certificate notBefore field contains an invalid time.

ERROR_IN_CERT_NOT_AFTER_FIELD#

The certificate notAfter field contains an invalid time.

ERROR_IN_CRL_LAST_UPDATE_FIELD#

The CRL lastUpdate field contains an invalid time.

ERROR_IN_CRL_NEXT_UPDATE_FIELD#

The CRL nextUpdate field contains an invalid time.

UNABLE_TO_DECRYPT_CERT_SIGNATURE#

The certificate signature could not be decrypted. This means that the actualsignature value could not be determined rather than it not matching the expectedvalue, this is only meaningful for RSA keys.

UNABLE_TO_DECRYPT_CRL_SIGNATURE#

The certificate revocation list (CRL) signature could not be decrypted: thismeans that the actual signature value could not be determined rather than it notmatching the expected value.

UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY#

The public key in the certificate SubjectPublicKeyInfo could not be read.

Other OpenSSL Errors#

OUT_OF_MEM#

An error occurred trying to allocate memory. This should never happen.