• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Errors
2
3<!--introduced_in=v4.0.0-->
4
5<!--type=misc-->
6
7Applications running in Node.js will generally experience four categories of
8errors:
9
10* Standard JavaScript errors such as {EvalError}, {SyntaxError}, {RangeError},
11  {ReferenceError}, {TypeError}, and {URIError}.
12* System errors triggered by underlying operating system constraints such
13  as attempting to open a file that does not exist or attempting to send data
14  over a closed socket.
15* User-specified errors triggered by application code.
16* `AssertionError`s are a special class of error that can be triggered when
17  Node.js detects an exceptional logic violation that should never occur. These
18  are raised typically by the `node:assert` module.
19
20All JavaScript and system errors raised by Node.js inherit from, or are
21instances of, the standard JavaScript {Error} class and are guaranteed
22to provide _at least_ the properties available on that class.
23
24## Error propagation and interception
25
26<!--type=misc-->
27
28Node.js supports several mechanisms for propagating and handling errors that
29occur while an application is running. How these errors are reported and
30handled depends entirely on the type of `Error` and the style of the API that is
31called.
32
33All JavaScript errors are handled as exceptions that _immediately_ generate
34and throw an error using the standard JavaScript `throw` mechanism. These
35are handled using the [`try…catch` construct][try-catch] provided by the
36JavaScript language.
37
38```js
39// Throws with a ReferenceError because z is not defined.
40try {
41  const m = 1;
42  const n = m + z;
43} catch (err) {
44  // Handle the error here.
45}
46```
47
48Any use of the JavaScript `throw` mechanism will raise an exception that
49_must_ be handled or the Node.js process will exit immediately.
50
51With few exceptions, _Synchronous_ APIs (any blocking method that does not
52return a {Promise} nor accept a `callback` function, such as
53[`fs.readFileSync`][]), will use `throw` to report errors.
54
55Errors that occur within _Asynchronous APIs_ may be reported in multiple ways:
56
57* Some asynchronous methods returns a {Promise}, you should always take into
58  account that it might be rejected. See [`--unhandled-rejections`][] flag for
59  how the process will react to an unhandled promise rejection.
60
61  <!-- eslint-disable no-useless-return -->
62
63  ```js
64  const fs = require('fs/promises');
65
66  (async () => {
67    let data;
68    try {
69      data = await fs.readFile('a file that does not exist');
70    } catch (err) {
71      console.error('There was an error reading the file!', err);
72      return;
73    }
74    // Otherwise handle the data
75  })();
76  ```
77
78* Most asynchronous methods that accept a `callback` function will accept an
79  `Error` object passed as the first argument to that function. If that first
80  argument is not `null` and is an instance of `Error`, then an error occurred
81  that should be handled.
82
83  <!-- eslint-disable no-useless-return -->
84
85  ```js
86  const fs = require('node:fs');
87  fs.readFile('a file that does not exist', (err, data) => {
88    if (err) {
89      console.error('There was an error reading the file!', err);
90      return;
91    }
92    // Otherwise handle the data
93  });
94  ```
95
96* When an asynchronous method is called on an object that is an
97  [`EventEmitter`][], errors can be routed to that object's `'error'` event.
98
99  ```js
100  const net = require('node:net');
101  const connection = net.connect('localhost');
102
103  // Adding an 'error' event handler to a stream:
104  connection.on('error', (err) => {
105    // If the connection is reset by the server, or if it can't
106    // connect at all, or on any sort of error encountered by
107    // the connection, the error will be sent here.
108    console.error(err);
109  });
110
111  connection.pipe(process.stdout);
112  ```
113
114* A handful of typically asynchronous methods in the Node.js API may still
115  use the `throw` mechanism to raise exceptions that must be handled using
116  `try…catch`. There is no comprehensive list of such methods; please
117  refer to the documentation of each method to determine the appropriate
118  error handling mechanism required.
119
120The use of the `'error'` event mechanism is most common for [stream-based][]
121and [event emitter-based][] APIs, which themselves represent a series of
122asynchronous operations over time (as opposed to a single operation that may
123pass or fail).
124
125For _all_ [`EventEmitter`][] objects, if an `'error'` event handler is not
126provided, the error will be thrown, causing the Node.js process to report an
127uncaught exception and crash unless either: a handler has been registered for
128the [`'uncaughtException'`][] event, or the deprecated [`node:domain`][domains]
129module is used.
130
131```js
132const EventEmitter = require('node:events');
133const ee = new EventEmitter();
134
135setImmediate(() => {
136  // This will crash the process because no 'error' event
137  // handler has been added.
138  ee.emit('error', new Error('This will crash'));
139});
140```
141
142Errors generated in this way _cannot_ be intercepted using `try…catch` as
143they are thrown _after_ the calling code has already exited.
144
145Developers must refer to the documentation for each method to determine
146exactly how errors raised by those methods are propagated.
147
148## Class: `Error`
149
150<!--type=class-->
151
152A generic JavaScript {Error} object that does not denote any specific
153circumstance of why the error occurred. `Error` objects capture a "stack trace"
154detailing the point in the code at which the `Error` was instantiated, and may
155provide a text description of the error.
156
157All errors generated by Node.js, including all system and JavaScript errors,
158will either be instances of, or inherit from, the `Error` class.
159
160### `new Error(message[, options])`
161
162* `message` {string}
163* `options` {Object}
164  * `cause` {any} The error that caused the newly created error.
165
166Creates a new `Error` object and sets the `error.message` property to the
167provided text message. If an object is passed as `message`, the text message
168is generated by calling `String(message)`. If the `cause` option is provided,
169it is assigned to the `error.cause` property. The `error.stack` property will
170represent the point in the code at which `new Error()` was called. Stack traces
171are dependent on [V8's stack trace API][]. Stack traces extend only to either
172(a) the beginning of _synchronous code execution_, or (b) the number of frames
173given by the property `Error.stackTraceLimit`, whichever is smaller.
174
175### `Error.captureStackTrace(targetObject[, constructorOpt])`
176
177* `targetObject` {Object}
178* `constructorOpt` {Function}
179
180Creates a `.stack` property on `targetObject`, which when accessed returns
181a string representing the location in the code at which
182`Error.captureStackTrace()` was called.
183
184```js
185const myObject = {};
186Error.captureStackTrace(myObject);
187myObject.stack;  // Similar to `new Error().stack`
188```
189
190The first line of the trace will be prefixed with
191`${myObject.name}: ${myObject.message}`.
192
193The optional `constructorOpt` argument accepts a function. If given, all frames
194above `constructorOpt`, including `constructorOpt`, will be omitted from the
195generated stack trace.
196
197The `constructorOpt` argument is useful for hiding implementation
198details of error generation from the user. For instance:
199
200```js
201function a() {
202  b();
203}
204
205function b() {
206  c();
207}
208
209function c() {
210  // Create an error without stack trace to avoid calculating the stack trace twice.
211  const { stackTraceLimit } = Error;
212  Error.stackTraceLimit = 0;
213  const error = new Error();
214  Error.stackTraceLimit = stackTraceLimit;
215
216  // Capture the stack trace above function b
217  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
218  throw error;
219}
220
221a();
222```
223
224### `Error.stackTraceLimit`
225
226* {number}
227
228The `Error.stackTraceLimit` property specifies the number of stack frames
229collected by a stack trace (whether generated by `new Error().stack` or
230`Error.captureStackTrace(obj)`).
231
232The default value is `10` but may be set to any valid JavaScript number. Changes
233will affect any stack trace captured _after_ the value has been changed.
234
235If set to a non-number value, or set to a negative number, stack traces will
236not capture any frames.
237
238### `error.cause`
239
240<!-- YAML
241added: v16.9.0
242-->
243
244* {any}
245
246If present, the `error.cause` property is the underlying cause of the `Error`.
247It is used when catching an error and throwing a new one with a different
248message or code in order to still have access to the original error.
249
250The `error.cause` property is typically set by calling
251`new Error(message, { cause })`. It is not set by the constructor if the
252`cause` option is not provided.
253
254This property allows errors to be chained. When serializing `Error` objects,
255[`util.inspect()`][] recursively serializes `error.cause` if it is set.
256
257```js
258const cause = new Error('The remote HTTP server responded with a 500 status');
259const symptom = new Error('The message failed to send', { cause });
260
261console.log(symptom);
262// Prints:
263//   Error: The message failed to send
264//       at REPL2:1:17
265//       at Script.runInThisContext (node:vm:130:12)
266//       ... 7 lines matching cause stack trace ...
267//       at [_line] [as _line] (node:internal/readline/interface:886:18) {
268//     [cause]: Error: The remote HTTP server responded with a 500 status
269//         at REPL1:1:15
270//         at Script.runInThisContext (node:vm:130:12)
271//         at REPLServer.defaultEval (node:repl:574:29)
272//         at bound (node:domain:426:15)
273//         at REPLServer.runBound [as eval] (node:domain:437:12)
274//         at REPLServer.onLine (node:repl:902:10)
275//         at REPLServer.emit (node:events:549:35)
276//         at REPLServer.emit (node:domain:482:12)
277//         at [_onLine] [as _onLine] (node:internal/readline/interface:425:12)
278//         at [_line] [as _line] (node:internal/readline/interface:886:18)
279```
280
281### `error.code`
282
283* {string}
284
285The `error.code` property is a string label that identifies the kind of error.
286`error.code` is the most stable way to identify an error. It will only change
287between major versions of Node.js. In contrast, `error.message` strings may
288change between any versions of Node.js. See [Node.js error codes][] for details
289about specific codes.
290
291### `error.message`
292
293* {string}
294
295The `error.message` property is the string description of the error as set by
296calling `new Error(message)`. The `message` passed to the constructor will also
297appear in the first line of the stack trace of the `Error`, however changing
298this property after the `Error` object is created _may not_ change the first
299line of the stack trace (for example, when `error.stack` is read before this
300property is changed).
301
302```js
303const err = new Error('The message');
304console.error(err.message);
305// Prints: The message
306```
307
308### `error.stack`
309
310* {string}
311
312The `error.stack` property is a string describing the point in the code at which
313the `Error` was instantiated.
314
315```console
316Error: Things keep happening!
317   at /home/gbusey/file.js:525:2
318   at Frobnicator.refrobulate (/home/gbusey/business-logic.js:424:21)
319   at Actor.<anonymous> (/home/gbusey/actors.js:400:8)
320   at increaseSynergy (/home/gbusey/actors.js:701:6)
321```
322
323The first line is formatted as `<error class name>: <error message>`, and
324is followed by a series of stack frames (each line beginning with "at ").
325Each frame describes a call site within the code that lead to the error being
326generated. V8 attempts to display a name for each function (by variable name,
327function name, or object method name), but occasionally it will not be able to
328find a suitable name. If V8 cannot determine a name for the function, only
329location information will be displayed for that frame. Otherwise, the
330determined function name will be displayed with location information appended
331in parentheses.
332
333Frames are only generated for JavaScript functions. If, for example, execution
334synchronously passes through a C++ addon function called `cheetahify` which
335itself calls a JavaScript function, the frame representing the `cheetahify` call
336will not be present in the stack traces:
337
338```js
339const cheetahify = require('./native-binding.node');
340
341function makeFaster() {
342  // `cheetahify()` *synchronously* calls speedy.
343  cheetahify(function speedy() {
344    throw new Error('oh no!');
345  });
346}
347
348makeFaster();
349// will throw:
350//   /home/gbusey/file.js:6
351//       throw new Error('oh no!');
352//           ^
353//   Error: oh no!
354//       at speedy (/home/gbusey/file.js:6:11)
355//       at makeFaster (/home/gbusey/file.js:5:3)
356//       at Object.<anonymous> (/home/gbusey/file.js:10:1)
357//       at Module._compile (module.js:456:26)
358//       at Object.Module._extensions..js (module.js:474:10)
359//       at Module.load (module.js:356:32)
360//       at Function.Module._load (module.js:312:12)
361//       at Function.Module.runMain (module.js:497:10)
362//       at startup (node.js:119:16)
363//       at node.js:906:3
364```
365
366The location information will be one of:
367
368* `native`, if the frame represents a call internal to V8 (as in `[].forEach`).
369* `plain-filename.js:line:column`, if the frame represents a call internal
370  to Node.js.
371* `/absolute/path/to/file.js:line:column`, if the frame represents a call in
372  a user program (using CommonJS module system), or its dependencies.
373* `<transport-protocol>:///url/to/module/file.mjs:line:column`, if the frame
374  represents a call in a user program (using ES module system), or
375  its dependencies.
376
377The string representing the stack trace is lazily generated when the
378`error.stack` property is **accessed**.
379
380The number of frames captured by the stack trace is bounded by the smaller of
381`Error.stackTraceLimit` or the number of available frames on the current event
382loop tick.
383
384## Class: `AssertionError`
385
386* Extends: {errors.Error}
387
388Indicates the failure of an assertion. For details, see
389[`Class: assert.AssertionError`][].
390
391## Class: `RangeError`
392
393* Extends: {errors.Error}
394
395Indicates that a provided argument was not within the set or range of
396acceptable values for a function; whether that is a numeric range, or
397outside the set of options for a given function parameter.
398
399```js
400require('node:net').connect(-1);
401// Throws "RangeError: "port" option should be >= 0 and < 65536: -1"
402```
403
404Node.js will generate and throw `RangeError` instances _immediately_ as a form
405of argument validation.
406
407## Class: `ReferenceError`
408
409* Extends: {errors.Error}
410
411Indicates that an attempt is being made to access a variable that is not
412defined. Such errors commonly indicate typos in code, or an otherwise broken
413program.
414
415While client code may generate and propagate these errors, in practice, only V8
416will do so.
417
418```js
419doesNotExist;
420// Throws ReferenceError, doesNotExist is not a variable in this program.
421```
422
423Unless an application is dynamically generating and running code,
424`ReferenceError` instances indicate a bug in the code or its dependencies.
425
426## Class: `SyntaxError`
427
428* Extends: {errors.Error}
429
430Indicates that a program is not valid JavaScript. These errors may only be
431generated and propagated as a result of code evaluation. Code evaluation may
432happen as a result of `eval`, `Function`, `require`, or [vm][]. These errors
433are almost always indicative of a broken program.
434
435```js
436try {
437  require('node:vm').runInThisContext('binary ! isNotOk');
438} catch (err) {
439  // 'err' will be a SyntaxError.
440}
441```
442
443`SyntaxError` instances are unrecoverable in the context that created them –
444they may only be caught by other contexts.
445
446## Class: `SystemError`
447
448* Extends: {errors.Error}
449
450Node.js generates system errors when exceptions occur within its runtime
451environment. These usually occur when an application violates an operating
452system constraint. For example, a system error will occur if an application
453attempts to read a file that does not exist.
454
455* `address` {string} If present, the address to which a network connection
456  failed
457* `code` {string} The string error code
458* `dest` {string} If present, the file path destination when reporting a file
459  system error
460* `errno` {number} The system-provided error number
461* `info` {Object} If present, extra details about the error condition
462* `message` {string} A system-provided human-readable description of the error
463* `path` {string} If present, the file path when reporting a file system error
464* `port` {number} If present, the network connection port that is not available
465* `syscall` {string} The name of the system call that triggered the error
466
467### `error.address`
468
469* {string}
470
471If present, `error.address` is a string describing the address to which a
472network connection failed.
473
474### `error.code`
475
476* {string}
477
478The `error.code` property is a string representing the error code.
479
480### `error.dest`
481
482* {string}
483
484If present, `error.dest` is the file path destination when reporting a file
485system error.
486
487### `error.errno`
488
489* {number}
490
491The `error.errno` property is a negative number which corresponds
492to the error code defined in [`libuv Error handling`][].
493
494On Windows the error number provided by the system will be normalized by libuv.
495
496To get the string representation of the error code, use
497[`util.getSystemErrorName(error.errno)`][].
498
499### `error.info`
500
501* {Object}
502
503If present, `error.info` is an object with details about the error condition.
504
505### `error.message`
506
507* {string}
508
509`error.message` is a system-provided human-readable description of the error.
510
511### `error.path`
512
513* {string}
514
515If present, `error.path` is a string containing a relevant invalid pathname.
516
517### `error.port`
518
519* {number}
520
521If present, `error.port` is the network connection port that is not available.
522
523### `error.syscall`
524
525* {string}
526
527The `error.syscall` property is a string describing the [syscall][] that failed.
528
529### Common system errors
530
531This is a list of system errors commonly-encountered when writing a Node.js
532program. For a comprehensive list, see the [`errno`(3) man page][].
533
534* `EACCES` (Permission denied): An attempt was made to access a file in a way
535  forbidden by its file access permissions.
536
537* `EADDRINUSE` (Address already in use): An attempt to bind a server
538  ([`net`][], [`http`][], or [`https`][]) to a local address failed due to
539  another server on the local system already occupying that address.
540
541* `ECONNREFUSED` (Connection refused): No connection could be made because the
542  target machine actively refused it. This usually results from trying to
543  connect to a service that is inactive on the foreign host.
544
545* `ECONNRESET` (Connection reset by peer): A connection was forcibly closed by
546  a peer. This normally results from a loss of the connection on the remote
547  socket due to a timeout or reboot. Commonly encountered via the [`http`][]
548  and [`net`][] modules.
549
550* `EEXIST` (File exists): An existing file was the target of an operation that
551  required that the target not exist.
552
553* `EISDIR` (Is a directory): An operation expected a file, but the given
554  pathname was a directory.
555
556* `EMFILE` (Too many open files in system): Maximum number of
557  [file descriptors][] allowable on the system has been reached, and
558  requests for another descriptor cannot be fulfilled until at least one
559  has been closed. This is encountered when opening many files at once in
560  parallel, especially on systems (in particular, macOS) where there is a low
561  file descriptor limit for processes. To remedy a low limit, run
562  `ulimit -n 2048` in the same shell that will run the Node.js process.
563
564* `ENOENT` (No such file or directory): Commonly raised by [`fs`][] operations
565  to indicate that a component of the specified pathname does not exist. No
566  entity (file or directory) could be found by the given path.
567
568* `ENOTDIR` (Not a directory): A component of the given pathname existed, but
569  was not a directory as expected. Commonly raised by [`fs.readdir`][].
570
571* `ENOTEMPTY` (Directory not empty): A directory with entries was the target
572  of an operation that requires an empty directory, usually [`fs.unlink`][].
573
574* `ENOTFOUND` (DNS lookup failed): Indicates a DNS failure of either
575  `EAI_NODATA` or `EAI_NONAME`. This is not a standard POSIX error.
576
577* `EPERM` (Operation not permitted): An attempt was made to perform an
578  operation that requires elevated privileges.
579
580* `EPIPE` (Broken pipe): A write on a pipe, socket, or FIFO for which there is
581  no process to read the data. Commonly encountered at the [`net`][] and
582  [`http`][] layers, indicative that the remote side of the stream being
583  written to has been closed.
584
585* `ETIMEDOUT` (Operation timed out): A connect or send request failed because
586  the connected party did not properly respond after a period of time. Usually
587  encountered by [`http`][] or [`net`][]. Often a sign that a `socket.end()`
588  was not properly called.
589
590## Class: `TypeError`
591
592* Extends {errors.Error}
593
594Indicates that a provided argument is not an allowable type. For example,
595passing a function to a parameter which expects a string would be a `TypeError`.
596
597```js
598require('node:url').parse(() => { });
599// Throws TypeError, since it expected a string.
600```
601
602Node.js will generate and throw `TypeError` instances _immediately_ as a form
603of argument validation.
604
605## Exceptions vs. errors
606
607<!--type=misc-->
608
609A JavaScript exception is a value that is thrown as a result of an invalid
610operation or as the target of a `throw` statement. While it is not required
611that these values are instances of `Error` or classes which inherit from
612`Error`, all exceptions thrown by Node.js or the JavaScript runtime _will_ be
613instances of `Error`.
614
615Some exceptions are _unrecoverable_ at the JavaScript layer. Such exceptions
616will _always_ cause the Node.js process to crash. Examples include `assert()`
617checks or `abort()` calls in the C++ layer.
618
619## OpenSSL errors
620
621Errors originating in `crypto` or `tls` are of class `Error`, and in addition to
622the standard `.code` and `.message` properties, may have some additional
623OpenSSL-specific properties.
624
625### `error.opensslErrorStack`
626
627An array of errors that can give context to where in the OpenSSL library an
628error originates from.
629
630### `error.function`
631
632The OpenSSL function the error originates in.
633
634### `error.library`
635
636The OpenSSL library the error originates in.
637
638### `error.reason`
639
640A human-readable string describing the reason for the error.
641
642<a id="nodejs-error-codes"></a>
643
644## Node.js error codes
645
646<a id="ABORT_ERR"></a>
647
648### `ABORT_ERR`
649
650<!-- YAML
651added: v15.0.0
652-->
653
654Used when an operation has been aborted (typically using an `AbortController`).
655
656APIs _not_ using `AbortSignal`s typically do not raise an error with this code.
657
658This code does not use the regular `ERR_*` convention Node.js errors use in
659order to be compatible with the web platform's `AbortError`.
660
661<a id="ERR_ACCESS_DENIED"></a>
662
663### `ERR_ACCESS_DENIED`
664
665A special type of error that is triggered whenever Node.js tries to get access
666to a resource restricted by the [policy][] manifest.
667For example, `process.binding`.
668
669<a id="ERR_AMBIGUOUS_ARGUMENT"></a>
670
671### `ERR_AMBIGUOUS_ARGUMENT`
672
673A function argument is being used in a way that suggests that the function
674signature may be misunderstood. This is thrown by the `node:assert` module when
675the `message` parameter in `assert.throws(block, message)` matches the error
676message thrown by `block` because that usage suggests that the user believes
677`message` is the expected message rather than the message the `AssertionError`
678will display if `block` does not throw.
679
680<a id="ERR_ARG_NOT_ITERABLE"></a>
681
682### `ERR_ARG_NOT_ITERABLE`
683
684An iterable argument (i.e. a value that works with `for...of` loops) was
685required, but not provided to a Node.js API.
686
687<a id="ERR_ASSERTION"></a>
688
689### `ERR_ASSERTION`
690
691A special type of error that can be triggered whenever Node.js detects an
692exceptional logic violation that should never occur. These are raised typically
693by the `node:assert` module.
694
695<a id="ERR_ASYNC_CALLBACK"></a>
696
697### `ERR_ASYNC_CALLBACK`
698
699An attempt was made to register something that is not a function as an
700`AsyncHooks` callback.
701
702<a id="ERR_ASYNC_TYPE"></a>
703
704### `ERR_ASYNC_TYPE`
705
706The type of an asynchronous resource was invalid. Users are also able
707to define their own types if using the public embedder API.
708
709<a id="ERR_BROTLI_COMPRESSION_FAILED"></a>
710
711### `ERR_BROTLI_COMPRESSION_FAILED`
712
713Data passed to a Brotli stream was not successfully compressed.
714
715<a id="ERR_BROTLI_INVALID_PARAM"></a>
716
717### `ERR_BROTLI_INVALID_PARAM`
718
719An invalid parameter key was passed during construction of a Brotli stream.
720
721<a id="ERR_BUFFER_CONTEXT_NOT_AVAILABLE"></a>
722
723### `ERR_BUFFER_CONTEXT_NOT_AVAILABLE`
724
725An attempt was made to create a Node.js `Buffer` instance from addon or embedder
726code, while in a JS engine Context that is not associated with a Node.js
727instance. The data passed to the `Buffer` method will have been released
728by the time the method returns.
729
730When encountering this error, a possible alternative to creating a `Buffer`
731instance is to create a normal `Uint8Array`, which only differs in the
732prototype of the resulting object. `Uint8Array`s are generally accepted in all
733Node.js core APIs where `Buffer`s are; they are available in all Contexts.
734
735<a id="ERR_BUFFER_OUT_OF_BOUNDS"></a>
736
737### `ERR_BUFFER_OUT_OF_BOUNDS`
738
739An operation outside the bounds of a `Buffer` was attempted.
740
741<a id="ERR_BUFFER_TOO_LARGE"></a>
742
743### `ERR_BUFFER_TOO_LARGE`
744
745An attempt has been made to create a `Buffer` larger than the maximum allowed
746size.
747
748<a id="ERR_CANNOT_WATCH_SIGINT"></a>
749
750### `ERR_CANNOT_WATCH_SIGINT`
751
752Node.js was unable to watch for the `SIGINT` signal.
753
754<a id="ERR_CHILD_CLOSED_BEFORE_REPLY"></a>
755
756### `ERR_CHILD_CLOSED_BEFORE_REPLY`
757
758A child process was closed before the parent received a reply.
759
760<a id="ERR_CHILD_PROCESS_IPC_REQUIRED"></a>
761
762### `ERR_CHILD_PROCESS_IPC_REQUIRED`
763
764Used when a child process is being forked without specifying an IPC channel.
765
766<a id="ERR_CHILD_PROCESS_STDIO_MAXBUFFER"></a>
767
768### `ERR_CHILD_PROCESS_STDIO_MAXBUFFER`
769
770Used when the main process is trying to read data from the child process's
771STDERR/STDOUT, and the data's length is longer than the `maxBuffer` option.
772
773<a id="ERR_CLOSED_MESSAGE_PORT"></a>
774
775### `ERR_CLOSED_MESSAGE_PORT`
776
777<!--
778added:
779  - v16.2.0
780  - v14.17.1
781changes:
782  - version: 11.12.0
783    pr-url: https://github.com/nodejs/node/pull/26487
784    description: The error message was removed.
785  - version:
786      - v16.2.0
787      - v14.17.1
788    pr-url: https://github.com/nodejs/node/pull/38510
789    description: The error message was reintroduced.
790-->
791
792There was an attempt to use a `MessagePort` instance in a closed
793state, usually after `.close()` has been called.
794
795<a id="ERR_CONSOLE_WRITABLE_STREAM"></a>
796
797### `ERR_CONSOLE_WRITABLE_STREAM`
798
799`Console` was instantiated without `stdout` stream, or `Console` has a
800non-writable `stdout` or `stderr` stream.
801
802<a id="ERR_CONSTRUCT_CALL_INVALID"></a>
803
804### `ERR_CONSTRUCT_CALL_INVALID`
805
806<!--
807added: v12.5.0
808-->
809
810A class constructor was called that is not callable.
811
812<a id="ERR_CONSTRUCT_CALL_REQUIRED"></a>
813
814### `ERR_CONSTRUCT_CALL_REQUIRED`
815
816A constructor for a class was called without `new`.
817
818<a id="ERR_CONTEXT_NOT_INITIALIZED"></a>
819
820### `ERR_CONTEXT_NOT_INITIALIZED`
821
822The vm context passed into the API is not yet initialized. This could happen
823when an error occurs (and is caught) during the creation of the
824context, for example, when the allocation fails or the maximum call stack
825size is reached when the context is created.
826
827<a id="ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED"></a>
828
829### `ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED`
830
831An OpenSSL engine was requested (for example, through the `clientCertEngine` or
832`privateKeyEngine` TLS options) that is not supported by the version of OpenSSL
833being used, likely due to the compile-time flag `OPENSSL_NO_ENGINE`.
834
835<a id="ERR_CRYPTO_ECDH_INVALID_FORMAT"></a>
836
837### `ERR_CRYPTO_ECDH_INVALID_FORMAT`
838
839An invalid value for the `format` argument was passed to the `crypto.ECDH()`
840class `getPublicKey()` method.
841
842<a id="ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY"></a>
843
844### `ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY`
845
846An invalid value for the `key` argument has been passed to the
847`crypto.ECDH()` class `computeSecret()` method. It means that the public
848key lies outside of the elliptic curve.
849
850<a id="ERR_CRYPTO_ENGINE_UNKNOWN"></a>
851
852### `ERR_CRYPTO_ENGINE_UNKNOWN`
853
854An invalid crypto engine identifier was passed to
855[`require('node:crypto').setEngine()`][].
856
857<a id="ERR_CRYPTO_FIPS_FORCED"></a>
858
859### `ERR_CRYPTO_FIPS_FORCED`
860
861The [`--force-fips`][] command-line argument was used but there was an attempt
862to enable or disable FIPS mode in the `node:crypto` module.
863
864<a id="ERR_CRYPTO_FIPS_UNAVAILABLE"></a>
865
866### `ERR_CRYPTO_FIPS_UNAVAILABLE`
867
868An attempt was made to enable or disable FIPS mode, but FIPS mode was not
869available.
870
871<a id="ERR_CRYPTO_HASH_FINALIZED"></a>
872
873### `ERR_CRYPTO_HASH_FINALIZED`
874
875[`hash.digest()`][] was called multiple times. The `hash.digest()` method must
876be called no more than one time per instance of a `Hash` object.
877
878<a id="ERR_CRYPTO_HASH_UPDATE_FAILED"></a>
879
880### `ERR_CRYPTO_HASH_UPDATE_FAILED`
881
882[`hash.update()`][] failed for any reason. This should rarely, if ever, happen.
883
884<a id="ERR_CRYPTO_INCOMPATIBLE_KEY"></a>
885
886### `ERR_CRYPTO_INCOMPATIBLE_KEY`
887
888The given crypto keys are incompatible with the attempted operation.
889
890<a id="ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS"></a>
891
892### `ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS`
893
894The selected public or private key encoding is incompatible with other options.
895
896<a id="ERR_CRYPTO_INITIALIZATION_FAILED"></a>
897
898### `ERR_CRYPTO_INITIALIZATION_FAILED`
899
900<!-- YAML
901added: v15.0.0
902-->
903
904Initialization of the crypto subsystem failed.
905
906<a id="ERR_CRYPTO_INVALID_AUTH_TAG"></a>
907
908### `ERR_CRYPTO_INVALID_AUTH_TAG`
909
910<!-- YAML
911added: v15.0.0
912-->
913
914An invalid authentication tag was provided.
915
916<a id="ERR_CRYPTO_INVALID_COUNTER"></a>
917
918### `ERR_CRYPTO_INVALID_COUNTER`
919
920<!-- YAML
921added: v15.0.0
922-->
923
924An invalid counter was provided for a counter-mode cipher.
925
926<a id="ERR_CRYPTO_INVALID_CURVE"></a>
927
928### `ERR_CRYPTO_INVALID_CURVE`
929
930<!-- YAML
931added: v15.0.0
932-->
933
934An invalid elliptic-curve was provided.
935
936<a id="ERR_CRYPTO_INVALID_DIGEST"></a>
937
938### `ERR_CRYPTO_INVALID_DIGEST`
939
940An invalid [crypto digest algorithm][] was specified.
941
942<a id="ERR_CRYPTO_INVALID_IV"></a>
943
944### `ERR_CRYPTO_INVALID_IV`
945
946<!-- YAML
947added: v15.0.0
948-->
949
950An invalid initialization vector was provided.
951
952<a id="ERR_CRYPTO_INVALID_JWK"></a>
953
954### `ERR_CRYPTO_INVALID_JWK`
955
956<!-- YAML
957added: v15.0.0
958-->
959
960An invalid JSON Web Key was provided.
961
962<a id="ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE"></a>
963
964### `ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE`
965
966The given crypto key object's type is invalid for the attempted operation.
967
968<a id="ERR_CRYPTO_INVALID_KEYLEN"></a>
969
970### `ERR_CRYPTO_INVALID_KEYLEN`
971
972<!-- YAML
973added: v15.0.0
974-->
975
976An invalid key length was provided.
977
978<a id="ERR_CRYPTO_INVALID_KEYPAIR"></a>
979
980### `ERR_CRYPTO_INVALID_KEYPAIR`
981
982<!-- YAML
983added: v15.0.0
984-->
985
986An invalid key pair was provided.
987
988<a id="ERR_CRYPTO_INVALID_KEYTYPE"></a>
989
990### `ERR_CRYPTO_INVALID_KEYTYPE`
991
992<!-- YAML
993added: v15.0.0
994-->
995
996An invalid key type was provided.
997
998<a id="ERR_CRYPTO_INVALID_MESSAGELEN"></a>
999
1000### `ERR_CRYPTO_INVALID_MESSAGELEN`
1001
1002<!-- YAML
1003added: v15.0.0
1004-->
1005
1006An invalid message length was provided.
1007
1008<a id="ERR_CRYPTO_INVALID_SCRYPT_PARAMS"></a>
1009
1010### `ERR_CRYPTO_INVALID_SCRYPT_PARAMS`
1011
1012<!-- YAML
1013added: v15.0.0
1014-->
1015
1016Invalid scrypt algorithm parameters were provided.
1017
1018<a id="ERR_CRYPTO_INVALID_STATE"></a>
1019
1020### `ERR_CRYPTO_INVALID_STATE`
1021
1022A crypto method was used on an object that was in an invalid state. For
1023instance, calling [`cipher.getAuthTag()`][] before calling `cipher.final()`.
1024
1025<a id="ERR_CRYPTO_INVALID_TAG_LENGTH"></a>
1026
1027### `ERR_CRYPTO_INVALID_TAG_LENGTH`
1028
1029<!-- YAML
1030added: v15.0.0
1031-->
1032
1033An invalid authentication tag length was provided.
1034
1035<a id="ERR_CRYPTO_JOB_INIT_FAILED"></a>
1036
1037### `ERR_CRYPTO_JOB_INIT_FAILED`
1038
1039<!-- YAML
1040added: v15.0.0
1041-->
1042
1043Initialization of an asynchronous crypto operation failed.
1044
1045<a id="ERR_CRYPTO_JWK_UNSUPPORTED_CURVE"></a>
1046
1047### `ERR_CRYPTO_JWK_UNSUPPORTED_CURVE`
1048
1049Key's Elliptic Curve is not registered for use in the
1050[JSON Web Key Elliptic Curve Registry][].
1051
1052<a id="ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE"></a>
1053
1054### `ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE`
1055
1056Key's Asymmetric Key Type is not registered for use in the
1057[JSON Web Key Types Registry][].
1058
1059<a id="ERR_CRYPTO_OPERATION_FAILED"></a>
1060
1061### `ERR_CRYPTO_OPERATION_FAILED`
1062
1063<!-- YAML
1064added: v15.0.0
1065-->
1066
1067A crypto operation failed for an otherwise unspecified reason.
1068
1069<a id="ERR_CRYPTO_PBKDF2_ERROR"></a>
1070
1071### `ERR_CRYPTO_PBKDF2_ERROR`
1072
1073The PBKDF2 algorithm failed for unspecified reasons. OpenSSL does not provide
1074more details and therefore neither does Node.js.
1075
1076<a id="ERR_CRYPTO_SCRYPT_INVALID_PARAMETER"></a>
1077
1078### `ERR_CRYPTO_SCRYPT_INVALID_PARAMETER`
1079
1080One or more [`crypto.scrypt()`][] or [`crypto.scryptSync()`][] parameters are
1081outside their legal range.
1082
1083<a id="ERR_CRYPTO_SCRYPT_NOT_SUPPORTED"></a>
1084
1085### `ERR_CRYPTO_SCRYPT_NOT_SUPPORTED`
1086
1087Node.js was compiled without `scrypt` support. Not possible with the official
1088release binaries but can happen with custom builds, including distro builds.
1089
1090<a id="ERR_CRYPTO_SIGN_KEY_REQUIRED"></a>
1091
1092### `ERR_CRYPTO_SIGN_KEY_REQUIRED`
1093
1094A signing `key` was not provided to the [`sign.sign()`][] method.
1095
1096<a id="ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH"></a>
1097
1098### `ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH`
1099
1100[`crypto.timingSafeEqual()`][] was called with `Buffer`, `TypedArray`, or
1101`DataView` arguments of different lengths.
1102
1103<a id="ERR_CRYPTO_UNKNOWN_CIPHER"></a>
1104
1105### `ERR_CRYPTO_UNKNOWN_CIPHER`
1106
1107An unknown cipher was specified.
1108
1109<a id="ERR_CRYPTO_UNKNOWN_DH_GROUP"></a>
1110
1111### `ERR_CRYPTO_UNKNOWN_DH_GROUP`
1112
1113An unknown Diffie-Hellman group name was given. See
1114[`crypto.getDiffieHellman()`][] for a list of valid group names.
1115
1116<a id="ERR_CRYPTO_UNSUPPORTED_OPERATION"></a>
1117
1118### `ERR_CRYPTO_UNSUPPORTED_OPERATION`
1119
1120<!-- YAML
1121added:
1122  - v15.0.0
1123  - v14.18.0
1124-->
1125
1126An attempt to invoke an unsupported crypto operation was made.
1127
1128<a id="ERR_DEBUGGER_ERROR"></a>
1129
1130### `ERR_DEBUGGER_ERROR`
1131
1132<!-- YAML
1133added:
1134  - v16.4.0
1135  - v14.17.4
1136-->
1137
1138An error occurred with the [debugger][].
1139
1140<a id="ERR_DEBUGGER_STARTUP_ERROR"></a>
1141
1142### `ERR_DEBUGGER_STARTUP_ERROR`
1143
1144<!-- YAML
1145added:
1146  - v16.4.0
1147  - v14.17.4
1148-->
1149
1150The [debugger][] timed out waiting for the required host/port to be free.
1151
1152<a id="ERR_DLOPEN_DISABLED"></a>
1153
1154### `ERR_DLOPEN_DISABLED`
1155
1156<!-- YAML
1157added:
1158  - v16.10.0
1159  - v14.19.0
1160-->
1161
1162Loading native addons has been disabled using [`--no-addons`][].
1163
1164<a id="ERR_DLOPEN_FAILED"></a>
1165
1166### `ERR_DLOPEN_FAILED`
1167
1168<!-- YAML
1169added: v15.0.0
1170-->
1171
1172A call to `process.dlopen()` failed.
1173
1174<a id="ERR_DIR_CLOSED"></a>
1175
1176### `ERR_DIR_CLOSED`
1177
1178The [`fs.Dir`][] was previously closed.
1179
1180<a id="ERR_DIR_CONCURRENT_OPERATION"></a>
1181
1182### `ERR_DIR_CONCURRENT_OPERATION`
1183
1184<!-- YAML
1185added: v14.3.0
1186-->
1187
1188A synchronous read or close call was attempted on an [`fs.Dir`][] which has
1189ongoing asynchronous operations.
1190
1191<a id="ERR_DNS_SET_SERVERS_FAILED"></a>
1192
1193### `ERR_DNS_SET_SERVERS_FAILED`
1194
1195`c-ares` failed to set the DNS server.
1196
1197<a id="ERR_DOMAIN_CALLBACK_NOT_AVAILABLE"></a>
1198
1199### `ERR_DOMAIN_CALLBACK_NOT_AVAILABLE`
1200
1201The `node:domain` module was not usable since it could not establish the
1202required error handling hooks, because
1203[`process.setUncaughtExceptionCaptureCallback()`][] had been called at an
1204earlier point in time.
1205
1206<a id="ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE"></a>
1207
1208### `ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE`
1209
1210[`process.setUncaughtExceptionCaptureCallback()`][] could not be called
1211because the `node:domain` module has been loaded at an earlier point in time.
1212
1213The stack trace is extended to include the point in time at which the
1214`node:domain` module had been loaded.
1215
1216<a id="ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION"></a>
1217
1218### `ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION`
1219
1220[`v8.startupSnapshot.setDeserializeMainFunction()`][] could not be called
1221because it had already been called before.
1222
1223<a id="ERR_ENCODING_INVALID_ENCODED_DATA"></a>
1224
1225### `ERR_ENCODING_INVALID_ENCODED_DATA`
1226
1227Data provided to `TextDecoder()` API was invalid according to the encoding
1228provided.
1229
1230<a id="ERR_ENCODING_NOT_SUPPORTED"></a>
1231
1232### `ERR_ENCODING_NOT_SUPPORTED`
1233
1234Encoding provided to `TextDecoder()` API was not one of the
1235[WHATWG Supported Encodings][].
1236
1237<a id="ERR_EVAL_ESM_CANNOT_PRINT"></a>
1238
1239### `ERR_EVAL_ESM_CANNOT_PRINT`
1240
1241`--print` cannot be used with ESM input.
1242
1243<a id="ERR_EVENT_RECURSION"></a>
1244
1245### `ERR_EVENT_RECURSION`
1246
1247Thrown when an attempt is made to recursively dispatch an event on `EventTarget`.
1248
1249<a id="ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE"></a>
1250
1251### `ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE`
1252
1253The JS execution context is not associated with a Node.js environment.
1254This may occur when Node.js is used as an embedded library and some hooks
1255for the JS engine are not set up properly.
1256
1257<a id="ERR_FALSY_VALUE_REJECTION"></a>
1258
1259### `ERR_FALSY_VALUE_REJECTION`
1260
1261A `Promise` that was callbackified via `util.callbackify()` was rejected with a
1262falsy value.
1263
1264<a id="ERR_FEATURE_UNAVAILABLE_ON_PLATFORM"></a>
1265
1266### `ERR_FEATURE_UNAVAILABLE_ON_PLATFORM`
1267
1268<!-- YAML
1269added: v14.0.0
1270-->
1271
1272Used when a feature that is not available
1273to the current platform which is running Node.js is used.
1274
1275<a id="ERR_FS_CP_DIR_TO_NON_DIR"></a>
1276
1277### `ERR_FS_CP_DIR_TO_NON_DIR`
1278
1279<!--
1280added: v16.7.0
1281-->
1282
1283An attempt was made to copy a directory to a non-directory (file, symlink,
1284etc.) using [`fs.cp()`][].
1285
1286<a id="ERR_FS_CP_EEXIST"></a>
1287
1288### `ERR_FS_CP_EEXIST`
1289
1290<!--
1291added: v16.7.0
1292-->
1293
1294An attempt was made to copy over a file that already existed with
1295[`fs.cp()`][], with the `force` and `errorOnExist` set to `true`.
1296
1297<a id="ERR_FS_CP_EINVAL"></a>
1298
1299### `ERR_FS_CP_EINVAL`
1300
1301<!--
1302added: v16.7.0
1303-->
1304
1305When using [`fs.cp()`][], `src` or `dest` pointed to an invalid path.
1306
1307<a id="ERR_FS_CP_FIFO_PIPE"></a>
1308
1309### `ERR_HTTP_BODY_NOT_ALLOWED`
1310
1311An error is thrown when writing to an HTTP response which does not allow
1312contents. <a id="ERR_HTTP_BODY_NOT_ALLOWED"></a>
1313
1314### `ERR_HTTP_CONTENT_LENGTH_MISMATCH`
1315
1316Response body size doesn't match with the specified content-length header value.
1317
1318<a id="ERR_HTTP_CONTENT_LENGTH_MISMATCH"></a>
1319
1320### `ERR_FS_CP_FIFO_PIPE`
1321
1322<!--
1323added: v16.7.0
1324-->
1325
1326An attempt was made to copy a named pipe with [`fs.cp()`][].
1327
1328<a id="ERR_FS_CP_NON_DIR_TO_DIR"></a>
1329
1330### `ERR_FS_CP_NON_DIR_TO_DIR`
1331
1332<!--
1333added: v16.7.0
1334-->
1335
1336An attempt was made to copy a non-directory (file, symlink, etc.) to a directory
1337using [`fs.cp()`][].
1338
1339<a id="ERR_FS_CP_SOCKET"></a>
1340
1341### `ERR_FS_CP_SOCKET`
1342
1343<!--
1344added: v16.7.0
1345-->
1346
1347An attempt was made to copy to a socket with [`fs.cp()`][].
1348
1349<a id="ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY"></a>
1350
1351### `ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY`
1352
1353<!--
1354added: v16.7.0
1355-->
1356
1357When using [`fs.cp()`][], a symlink in `dest` pointed to a subdirectory
1358of `src`.
1359
1360<a id="ERR_FS_CP_UNKNOWN"></a>
1361
1362### `ERR_FS_CP_UNKNOWN`
1363
1364<!--
1365added: v16.7.0
1366-->
1367
1368An attempt was made to copy to an unknown file type with [`fs.cp()`][].
1369
1370<a id="ERR_FS_EISDIR"></a>
1371
1372### `ERR_FS_EISDIR`
1373
1374Path is a directory.
1375
1376<a id="ERR_FS_FILE_TOO_LARGE"></a>
1377
1378### `ERR_FS_FILE_TOO_LARGE`
1379
1380An attempt has been made to read a file whose size is larger than the maximum
1381allowed size for a `Buffer`.
1382
1383<a id="ERR_FS_INVALID_SYMLINK_TYPE"></a>
1384
1385### `ERR_FS_INVALID_SYMLINK_TYPE`
1386
1387An invalid symlink type was passed to the [`fs.symlink()`][] or
1388[`fs.symlinkSync()`][] methods.
1389
1390<a id="ERR_HTTP_HEADERS_SENT"></a>
1391
1392### `ERR_HTTP_HEADERS_SENT`
1393
1394An attempt was made to add more headers after the headers had already been sent.
1395
1396<a id="ERR_HTTP_INVALID_HEADER_VALUE"></a>
1397
1398### `ERR_HTTP_INVALID_HEADER_VALUE`
1399
1400An invalid HTTP header value was specified.
1401
1402<a id="ERR_HTTP_INVALID_STATUS_CODE"></a>
1403
1404### `ERR_HTTP_INVALID_STATUS_CODE`
1405
1406Status code was outside the regular status code range (100-999).
1407
1408<a id="ERR_HTTP_REQUEST_TIMEOUT"></a>
1409
1410### `ERR_HTTP_REQUEST_TIMEOUT`
1411
1412The client has not sent the entire request within the allowed time.
1413
1414<a id="ERR_HTTP_SOCKET_ASSIGNED"></a>
1415
1416### `ERR_HTTP_SOCKET_ASSIGNED`
1417
1418The given [`ServerResponse`][] was already assigned a socket.
1419
1420<a id="ERR_HTTP_SOCKET_ENCODING"></a>
1421
1422### `ERR_HTTP_SOCKET_ENCODING`
1423
1424Changing the socket encoding is not allowed per [RFC 7230 Section 3][].
1425
1426<a id="ERR_HTTP_TRAILER_INVALID"></a>
1427
1428### `ERR_HTTP_TRAILER_INVALID`
1429
1430The `Trailer` header was set even though the transfer encoding does not support
1431that.
1432
1433<a id="ERR_HTTP2_ALTSVC_INVALID_ORIGIN"></a>
1434
1435### `ERR_HTTP2_ALTSVC_INVALID_ORIGIN`
1436
1437HTTP/2 ALTSVC frames require a valid origin.
1438
1439<a id="ERR_HTTP2_ALTSVC_LENGTH"></a>
1440
1441### `ERR_HTTP2_ALTSVC_LENGTH`
1442
1443HTTP/2 ALTSVC frames are limited to a maximum of 16,382 payload bytes.
1444
1445<a id="ERR_HTTP2_CONNECT_AUTHORITY"></a>
1446
1447### `ERR_HTTP2_CONNECT_AUTHORITY`
1448
1449For HTTP/2 requests using the `CONNECT` method, the `:authority` pseudo-header
1450is required.
1451
1452<a id="ERR_HTTP2_CONNECT_PATH"></a>
1453
1454### `ERR_HTTP2_CONNECT_PATH`
1455
1456For HTTP/2 requests using the `CONNECT` method, the `:path` pseudo-header is
1457forbidden.
1458
1459<a id="ERR_HTTP2_CONNECT_SCHEME"></a>
1460
1461### `ERR_HTTP2_CONNECT_SCHEME`
1462
1463For HTTP/2 requests using the `CONNECT` method, the `:scheme` pseudo-header is
1464forbidden.
1465
1466<a id="ERR_HTTP2_ERROR"></a>
1467
1468### `ERR_HTTP2_ERROR`
1469
1470A non-specific HTTP/2 error has occurred.
1471
1472<a id="ERR_HTTP2_GOAWAY_SESSION"></a>
1473
1474### `ERR_HTTP2_GOAWAY_SESSION`
1475
1476New HTTP/2 Streams may not be opened after the `Http2Session` has received a
1477`GOAWAY` frame from the connected peer.
1478
1479<a id="ERR_HTTP2_HEADER_SINGLE_VALUE"></a>
1480
1481### `ERR_HTTP2_HEADER_SINGLE_VALUE`
1482
1483Multiple values were provided for an HTTP/2 header field that was required to
1484have only a single value.
1485
1486<a id="ERR_HTTP2_HEADERS_AFTER_RESPOND"></a>
1487
1488### `ERR_HTTP2_HEADERS_AFTER_RESPOND`
1489
1490An additional headers was specified after an HTTP/2 response was initiated.
1491
1492<a id="ERR_HTTP2_HEADERS_SENT"></a>
1493
1494### `ERR_HTTP2_HEADERS_SENT`
1495
1496An attempt was made to send multiple response headers.
1497
1498<a id="ERR_HTTP2_INFO_STATUS_NOT_ALLOWED"></a>
1499
1500### `ERR_HTTP2_INFO_STATUS_NOT_ALLOWED`
1501
1502Informational HTTP status codes (`1xx`) may not be set as the response status
1503code on HTTP/2 responses.
1504
1505<a id="ERR_HTTP2_INVALID_CONNECTION_HEADERS"></a>
1506
1507### `ERR_HTTP2_INVALID_CONNECTION_HEADERS`
1508
1509HTTP/1 connection specific headers are forbidden to be used in HTTP/2
1510requests and responses.
1511
1512<a id="ERR_HTTP2_INVALID_HEADER_VALUE"></a>
1513
1514### `ERR_HTTP2_INVALID_HEADER_VALUE`
1515
1516An invalid HTTP/2 header value was specified.
1517
1518<a id="ERR_HTTP2_INVALID_INFO_STATUS"></a>
1519
1520### `ERR_HTTP2_INVALID_INFO_STATUS`
1521
1522An invalid HTTP informational status code has been specified. Informational
1523status codes must be an integer between `100` and `199` (inclusive).
1524
1525<a id="ERR_HTTP2_INVALID_ORIGIN"></a>
1526
1527### `ERR_HTTP2_INVALID_ORIGIN`
1528
1529HTTP/2 `ORIGIN` frames require a valid origin.
1530
1531<a id="ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH"></a>
1532
1533### `ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH`
1534
1535Input `Buffer` and `Uint8Array` instances passed to the
1536`http2.getUnpackedSettings()` API must have a length that is a multiple of
1537six.
1538
1539<a id="ERR_HTTP2_INVALID_PSEUDOHEADER"></a>
1540
1541### `ERR_HTTP2_INVALID_PSEUDOHEADER`
1542
1543Only valid HTTP/2 pseudoheaders (`:status`, `:path`, `:authority`, `:scheme`,
1544and `:method`) may be used.
1545
1546<a id="ERR_HTTP2_INVALID_SESSION"></a>
1547
1548### `ERR_HTTP2_INVALID_SESSION`
1549
1550An action was performed on an `Http2Session` object that had already been
1551destroyed.
1552
1553<a id="ERR_HTTP2_INVALID_SETTING_VALUE"></a>
1554
1555### `ERR_HTTP2_INVALID_SETTING_VALUE`
1556
1557An invalid value has been specified for an HTTP/2 setting.
1558
1559<a id="ERR_HTTP2_INVALID_STREAM"></a>
1560
1561### `ERR_HTTP2_INVALID_STREAM`
1562
1563An operation was performed on a stream that had already been destroyed.
1564
1565<a id="ERR_HTTP2_MAX_PENDING_SETTINGS_ACK"></a>
1566
1567### `ERR_HTTP2_MAX_PENDING_SETTINGS_ACK`
1568
1569Whenever an HTTP/2 `SETTINGS` frame is sent to a connected peer, the peer is
1570required to send an acknowledgment that it has received and applied the new
1571`SETTINGS`. By default, a maximum number of unacknowledged `SETTINGS` frames may
1572be sent at any given time. This error code is used when that limit has been
1573reached.
1574
1575<a id="ERR_HTTP2_NESTED_PUSH"></a>
1576
1577### `ERR_HTTP2_NESTED_PUSH`
1578
1579An attempt was made to initiate a new push stream from within a push stream.
1580Nested push streams are not permitted.
1581
1582<a id="ERR_HTTP2_NO_MEM"></a>
1583
1584### `ERR_HTTP2_NO_MEM`
1585
1586Out of memory when using the `http2session.setLocalWindowSize(windowSize)` API.
1587
1588<a id="ERR_HTTP2_NO_SOCKET_MANIPULATION"></a>
1589
1590### `ERR_HTTP2_NO_SOCKET_MANIPULATION`
1591
1592An attempt was made to directly manipulate (read, write, pause, resume, etc.) a
1593socket attached to an `Http2Session`.
1594
1595<a id="ERR_HTTP2_ORIGIN_LENGTH"></a>
1596
1597### `ERR_HTTP2_ORIGIN_LENGTH`
1598
1599HTTP/2 `ORIGIN` frames are limited to a length of 16382 bytes.
1600
1601<a id="ERR_HTTP2_OUT_OF_STREAMS"></a>
1602
1603### `ERR_HTTP2_OUT_OF_STREAMS`
1604
1605The number of streams created on a single HTTP/2 session reached the maximum
1606limit.
1607
1608<a id="ERR_HTTP2_PAYLOAD_FORBIDDEN"></a>
1609
1610### `ERR_HTTP2_PAYLOAD_FORBIDDEN`
1611
1612A message payload was specified for an HTTP response code for which a payload is
1613forbidden.
1614
1615<a id="ERR_HTTP2_PING_CANCEL"></a>
1616
1617### `ERR_HTTP2_PING_CANCEL`
1618
1619An HTTP/2 ping was canceled.
1620
1621<a id="ERR_HTTP2_PING_LENGTH"></a>
1622
1623### `ERR_HTTP2_PING_LENGTH`
1624
1625HTTP/2 ping payloads must be exactly 8 bytes in length.
1626
1627<a id="ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED"></a>
1628
1629### `ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED`
1630
1631An HTTP/2 pseudo-header has been used inappropriately. Pseudo-headers are header
1632key names that begin with the `:` prefix.
1633
1634<a id="ERR_HTTP2_PUSH_DISABLED"></a>
1635
1636### `ERR_HTTP2_PUSH_DISABLED`
1637
1638An attempt was made to create a push stream, which had been disabled by the
1639client.
1640
1641<a id="ERR_HTTP2_SEND_FILE"></a>
1642
1643### `ERR_HTTP2_SEND_FILE`
1644
1645An attempt was made to use the `Http2Stream.prototype.responseWithFile()` API to
1646send a directory.
1647
1648<a id="ERR_HTTP2_SEND_FILE_NOSEEK"></a>
1649
1650### `ERR_HTTP2_SEND_FILE_NOSEEK`
1651
1652An attempt was made to use the `Http2Stream.prototype.responseWithFile()` API to
1653send something other than a regular file, but `offset` or `length` options were
1654provided.
1655
1656<a id="ERR_HTTP2_SESSION_ERROR"></a>
1657
1658### `ERR_HTTP2_SESSION_ERROR`
1659
1660The `Http2Session` closed with a non-zero error code.
1661
1662<a id="ERR_HTTP2_SETTINGS_CANCEL"></a>
1663
1664### `ERR_HTTP2_SETTINGS_CANCEL`
1665
1666The `Http2Session` settings canceled.
1667
1668<a id="ERR_HTTP2_SOCKET_BOUND"></a>
1669
1670### `ERR_HTTP2_SOCKET_BOUND`
1671
1672An attempt was made to connect a `Http2Session` object to a `net.Socket` or
1673`tls.TLSSocket` that had already been bound to another `Http2Session` object.
1674
1675<a id="ERR_HTTP2_SOCKET_UNBOUND"></a>
1676
1677### `ERR_HTTP2_SOCKET_UNBOUND`
1678
1679An attempt was made to use the `socket` property of an `Http2Session` that
1680has already been closed.
1681
1682<a id="ERR_HTTP2_STATUS_101"></a>
1683
1684### `ERR_HTTP2_STATUS_101`
1685
1686Use of the `101` Informational status code is forbidden in HTTP/2.
1687
1688<a id="ERR_HTTP2_STATUS_INVALID"></a>
1689
1690### `ERR_HTTP2_STATUS_INVALID`
1691
1692An invalid HTTP status code has been specified. Status codes must be an integer
1693between `100` and `599` (inclusive).
1694
1695<a id="ERR_HTTP2_STREAM_CANCEL"></a>
1696
1697### `ERR_HTTP2_STREAM_CANCEL`
1698
1699An `Http2Stream` was destroyed before any data was transmitted to the connected
1700peer.
1701
1702<a id="ERR_HTTP2_STREAM_ERROR"></a>
1703
1704### `ERR_HTTP2_STREAM_ERROR`
1705
1706A non-zero error code was been specified in an `RST_STREAM` frame.
1707
1708<a id="ERR_HTTP2_STREAM_SELF_DEPENDENCY"></a>
1709
1710### `ERR_HTTP2_STREAM_SELF_DEPENDENCY`
1711
1712When setting the priority for an HTTP/2 stream, the stream may be marked as
1713a dependency for a parent stream. This error code is used when an attempt is
1714made to mark a stream and dependent of itself.
1715
1716<a id="ERR_HTTP2_TOO_MANY_INVALID_FRAMES"></a>
1717
1718### `ERR_HTTP2_TOO_MANY_INVALID_FRAMES`
1719
1720<!--
1721added: v15.14.0
1722-->
1723
1724The limit of acceptable invalid HTTP/2 protocol frames sent by the peer,
1725as specified through the `maxSessionInvalidFrames` option, has been exceeded.
1726
1727<a id="ERR_HTTP2_TRAILERS_ALREADY_SENT"></a>
1728
1729### `ERR_HTTP2_TRAILERS_ALREADY_SENT`
1730
1731Trailing headers have already been sent on the `Http2Stream`.
1732
1733<a id="ERR_HTTP2_TRAILERS_NOT_READY"></a>
1734
1735### `ERR_HTTP2_TRAILERS_NOT_READY`
1736
1737The `http2stream.sendTrailers()` method cannot be called until after the
1738`'wantTrailers'` event is emitted on an `Http2Stream` object. The
1739`'wantTrailers'` event will only be emitted if the `waitForTrailers` option
1740is set for the `Http2Stream`.
1741
1742<a id="ERR_HTTP2_UNSUPPORTED_PROTOCOL"></a>
1743
1744### `ERR_HTTP2_UNSUPPORTED_PROTOCOL`
1745
1746`http2.connect()` was passed a URL that uses any protocol other than `http:` or
1747`https:`.
1748
1749<a id="ERR_ILLEGAL_CONSTRUCTOR"></a>
1750
1751### `ERR_ILLEGAL_CONSTRUCTOR`
1752
1753An attempt was made to construct an object using a non-public constructor.
1754
1755<a id="ERR_IMPORT_ASSERTION_TYPE_FAILED"></a>
1756
1757### `ERR_IMPORT_ASSERTION_TYPE_FAILED`
1758
1759<!-- YAML
1760added:
1761  - v17.1.0
1762  - v16.14.0
1763-->
1764
1765An import assertion has failed, preventing the specified module to be imported.
1766
1767<a id="ERR_IMPORT_ASSERTION_TYPE_MISSING"></a>
1768
1769### `ERR_IMPORT_ASSERTION_TYPE_MISSING`
1770
1771<!-- YAML
1772added:
1773  - v17.1.0
1774  - v16.14.0
1775-->
1776
1777An import assertion is missing, preventing the specified module to be imported.
1778
1779<a id="ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED"></a>
1780
1781### `ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED`
1782
1783<!-- YAML
1784added:
1785  - v17.1.0
1786  - v16.14.0
1787-->
1788
1789An import assertion is not supported by this version of Node.js.
1790
1791<a id="ERR_INCOMPATIBLE_OPTION_PAIR"></a>
1792
1793### `ERR_INCOMPATIBLE_OPTION_PAIR`
1794
1795An option pair is incompatible with each other and cannot be used at the same
1796time.
1797
1798<a id="ERR_INPUT_TYPE_NOT_ALLOWED"></a>
1799
1800### `ERR_INPUT_TYPE_NOT_ALLOWED`
1801
1802> Stability: 1 - Experimental
1803
1804The `--input-type` flag was used to attempt to execute a file. This flag can
1805only be used with input via `--eval`, `--print`, or `STDIN`.
1806
1807<a id="ERR_INSPECTOR_ALREADY_ACTIVATED"></a>
1808
1809### `ERR_INSPECTOR_ALREADY_ACTIVATED`
1810
1811While using the `node:inspector` module, an attempt was made to activate the
1812inspector when it already started to listen on a port. Use `inspector.close()`
1813before activating it on a different address.
1814
1815<a id="ERR_INSPECTOR_ALREADY_CONNECTED"></a>
1816
1817### `ERR_INSPECTOR_ALREADY_CONNECTED`
1818
1819While using the `node:inspector` module, an attempt was made to connect when the
1820inspector was already connected.
1821
1822<a id="ERR_INSPECTOR_CLOSED"></a>
1823
1824### `ERR_INSPECTOR_CLOSED`
1825
1826While using the `node:inspector` module, an attempt was made to use the
1827inspector after the session had already closed.
1828
1829<a id="ERR_INSPECTOR_COMMAND"></a>
1830
1831### `ERR_INSPECTOR_COMMAND`
1832
1833An error occurred while issuing a command via the `node:inspector` module.
1834
1835<a id="ERR_INSPECTOR_NOT_ACTIVE"></a>
1836
1837### `ERR_INSPECTOR_NOT_ACTIVE`
1838
1839The `inspector` is not active when `inspector.waitForDebugger()` is called.
1840
1841<a id="ERR_INSPECTOR_NOT_AVAILABLE"></a>
1842
1843### `ERR_INSPECTOR_NOT_AVAILABLE`
1844
1845The `node:inspector` module is not available for use.
1846
1847<a id="ERR_INSPECTOR_NOT_CONNECTED"></a>
1848
1849### `ERR_INSPECTOR_NOT_CONNECTED`
1850
1851While using the `node:inspector` module, an attempt was made to use the
1852inspector before it was connected.
1853
1854<a id="ERR_INSPECTOR_NOT_WORKER"></a>
1855
1856### `ERR_INSPECTOR_NOT_WORKER`
1857
1858An API was called on the main thread that can only be used from
1859the worker thread.
1860
1861<a id="ERR_INTERNAL_ASSERTION"></a>
1862
1863### `ERR_INTERNAL_ASSERTION`
1864
1865There was a bug in Node.js or incorrect usage of Node.js internals.
1866To fix the error, open an issue at <https://github.com/nodejs/node/issues>.
1867
1868<a id="ERR_INVALID_ADDRESS_FAMILY"></a>
1869
1870### `ERR_INVALID_ADDRESS_FAMILY`
1871
1872The provided address family is not understood by the Node.js API.
1873
1874<a id="ERR_INVALID_ARG_TYPE"></a>
1875
1876### `ERR_INVALID_ARG_TYPE`
1877
1878An argument of the wrong type was passed to a Node.js API.
1879
1880<a id="ERR_INVALID_ARG_VALUE"></a>
1881
1882### `ERR_INVALID_ARG_VALUE`
1883
1884An invalid or unsupported value was passed for a given argument.
1885
1886<a id="ERR_INVALID_ASYNC_ID"></a>
1887
1888### `ERR_INVALID_ASYNC_ID`
1889
1890An invalid `asyncId` or `triggerAsyncId` was passed using `AsyncHooks`. An id
1891less than -1 should never happen.
1892
1893<a id="ERR_INVALID_BUFFER_SIZE"></a>
1894
1895### `ERR_INVALID_BUFFER_SIZE`
1896
1897A swap was performed on a `Buffer` but its size was not compatible with the
1898operation.
1899
1900<a id="ERR_INVALID_CHAR"></a>
1901
1902### `ERR_INVALID_CHAR`
1903
1904Invalid characters were detected in headers.
1905
1906<a id="ERR_INVALID_CURSOR_POS"></a>
1907
1908### `ERR_INVALID_CURSOR_POS`
1909
1910A cursor on a given stream cannot be moved to a specified row without a
1911specified column.
1912
1913<a id="ERR_INVALID_FD"></a>
1914
1915### `ERR_INVALID_FD`
1916
1917A file descriptor ('fd') was not valid (e.g. it was a negative value).
1918
1919<a id="ERR_INVALID_FD_TYPE"></a>
1920
1921### `ERR_INVALID_FD_TYPE`
1922
1923A file descriptor ('fd') type was not valid.
1924
1925<a id="ERR_INVALID_FILE_URL_HOST"></a>
1926
1927### `ERR_INVALID_FILE_URL_HOST`
1928
1929A Node.js API that consumes `file:` URLs (such as certain functions in the
1930[`fs`][] module) encountered a file URL with an incompatible host. This
1931situation can only occur on Unix-like systems where only `localhost` or an empty
1932host is supported.
1933
1934<a id="ERR_INVALID_FILE_URL_PATH"></a>
1935
1936### `ERR_INVALID_FILE_URL_PATH`
1937
1938A Node.js API that consumes `file:` URLs (such as certain functions in the
1939[`fs`][] module) encountered a file URL with an incompatible path. The exact
1940semantics for determining whether a path can be used is platform-dependent.
1941
1942<a id="ERR_INVALID_HANDLE_TYPE"></a>
1943
1944### `ERR_INVALID_HANDLE_TYPE`
1945
1946An attempt was made to send an unsupported "handle" over an IPC communication
1947channel to a child process. See [`subprocess.send()`][] and [`process.send()`][]
1948for more information.
1949
1950<a id="ERR_INVALID_HTTP_TOKEN"></a>
1951
1952### `ERR_INVALID_HTTP_TOKEN`
1953
1954An invalid HTTP token was supplied.
1955
1956<a id="ERR_INVALID_IP_ADDRESS"></a>
1957
1958### `ERR_INVALID_IP_ADDRESS`
1959
1960An IP address is not valid.
1961
1962<a id="ERR_INVALID_MIME_SYNTAX"></a>
1963
1964### `ERR_INVALID_MIME_SYNTAX`
1965
1966The syntax of a MIME is not valid.
1967
1968<a id="ERR_INVALID_MODULE"></a>
1969
1970### `ERR_INVALID_MODULE`
1971
1972<!-- YAML
1973added:
1974  - v15.0.0
1975  - v14.18.0
1976-->
1977
1978An attempt was made to load a module that does not exist or was otherwise not
1979valid.
1980
1981<a id="ERR_INVALID_MODULE_SPECIFIER"></a>
1982
1983### `ERR_INVALID_MODULE_SPECIFIER`
1984
1985The imported module string is an invalid URL, package name, or package subpath
1986specifier.
1987
1988<a id="ERR_INVALID_OBJECT_DEFINE_PROPERTY"></a>
1989
1990### `ERR_INVALID_OBJECT_DEFINE_PROPERTY`
1991
1992An error occurred while setting an invalid attribute on the property of
1993an object.
1994
1995<a id="ERR_INVALID_PACKAGE_CONFIG"></a>
1996
1997### `ERR_INVALID_PACKAGE_CONFIG`
1998
1999An invalid [`package.json`][] file failed parsing.
2000
2001<a id="ERR_INVALID_PACKAGE_TARGET"></a>
2002
2003### `ERR_INVALID_PACKAGE_TARGET`
2004
2005The `package.json` [`"exports"`][] field contains an invalid target mapping
2006value for the attempted module resolution.
2007
2008<a id="ERR_INVALID_PERFORMANCE_MARK"></a>
2009
2010### `ERR_INVALID_PERFORMANCE_MARK`
2011
2012While using the Performance Timing API (`perf_hooks`), a performance mark is
2013invalid.
2014
2015<a id="ERR_INVALID_PROTOCOL"></a>
2016
2017### `ERR_INVALID_PROTOCOL`
2018
2019An invalid `options.protocol` was passed to `http.request()`.
2020
2021<a id="ERR_INVALID_REPL_EVAL_CONFIG"></a>
2022
2023### `ERR_INVALID_REPL_EVAL_CONFIG`
2024
2025Both `breakEvalOnSigint` and `eval` options were set in the [`REPL`][] config,
2026which is not supported.
2027
2028<a id="ERR_INVALID_REPL_INPUT"></a>
2029
2030### `ERR_INVALID_REPL_INPUT`
2031
2032The input may not be used in the [`REPL`][]. The conditions under which this
2033error is used are described in the [`REPL`][] documentation.
2034
2035<a id="ERR_INVALID_RETURN_PROPERTY"></a>
2036
2037### `ERR_INVALID_RETURN_PROPERTY`
2038
2039Thrown in case a function option does not provide a valid value for one of its
2040returned object properties on execution.
2041
2042<a id="ERR_INVALID_RETURN_PROPERTY_VALUE"></a>
2043
2044### `ERR_INVALID_RETURN_PROPERTY_VALUE`
2045
2046Thrown in case a function option does not provide an expected value
2047type for one of its returned object properties on execution.
2048
2049<a id="ERR_INVALID_RETURN_VALUE"></a>
2050
2051### `ERR_INVALID_RETURN_VALUE`
2052
2053Thrown in case a function option does not return an expected value
2054type on execution, such as when a function is expected to return a promise.
2055
2056<a id="ERR_INVALID_STATE"></a>
2057
2058### `ERR_INVALID_STATE`
2059
2060<!-- YAML
2061added: v15.0.0
2062-->
2063
2064Indicates that an operation cannot be completed due to an invalid state.
2065For instance, an object may have already been destroyed, or may be
2066performing another operation.
2067
2068<a id="ERR_INVALID_SYNC_FORK_INPUT"></a>
2069
2070### `ERR_INVALID_SYNC_FORK_INPUT`
2071
2072A `Buffer`, `TypedArray`, `DataView`, or `string` was provided as stdio input to
2073an asynchronous fork. See the documentation for the [`child_process`][] module
2074for more information.
2075
2076<a id="ERR_INVALID_THIS"></a>
2077
2078### `ERR_INVALID_THIS`
2079
2080A Node.js API function was called with an incompatible `this` value.
2081
2082```js
2083const urlSearchParams = new URLSearchParams('foo=bar&baz=new');
2084
2085const buf = Buffer.alloc(1);
2086urlSearchParams.has.call(buf, 'foo');
2087// Throws a TypeError with code 'ERR_INVALID_THIS'
2088```
2089
2090<a id="ERR_INVALID_TRANSFER_OBJECT"></a>
2091
2092### `ERR_INVALID_TRANSFER_OBJECT`
2093
2094An invalid transfer object was passed to `postMessage()`.
2095
2096<a id="ERR_INVALID_TUPLE"></a>
2097
2098### `ERR_INVALID_TUPLE`
2099
2100An element in the `iterable` provided to the [WHATWG][WHATWG URL API]
2101[`URLSearchParams` constructor][`new URLSearchParams(iterable)`] did not
2102represent a `[name, value]` tuple – that is, if an element is not iterable, or
2103does not consist of exactly two elements.
2104
2105<a id="ERR_INVALID_URI"></a>
2106
2107### `ERR_INVALID_URI`
2108
2109An invalid URI was passed.
2110
2111<a id="ERR_INVALID_URL"></a>
2112
2113### `ERR_INVALID_URL`
2114
2115An invalid URL was passed to the [WHATWG][WHATWG URL API] [`URL`
2116constructor][`new URL(input)`] or the legacy [`url.parse()`][] to be parsed.
2117The thrown error object typically has an additional property `'input'` that
2118contains the URL that failed to parse.
2119
2120<a id="ERR_INVALID_URL_SCHEME"></a>
2121
2122### `ERR_INVALID_URL_SCHEME`
2123
2124An attempt was made to use a URL of an incompatible scheme (protocol) for a
2125specific purpose. It is only used in the [WHATWG URL API][] support in the
2126[`fs`][] module (which only accepts URLs with `'file'` scheme), but may be used
2127in other Node.js APIs as well in the future.
2128
2129<a id="ERR_IPC_CHANNEL_CLOSED"></a>
2130
2131### `ERR_IPC_CHANNEL_CLOSED`
2132
2133An attempt was made to use an IPC communication channel that was already closed.
2134
2135<a id="ERR_IPC_DISCONNECTED"></a>
2136
2137### `ERR_IPC_DISCONNECTED`
2138
2139An attempt was made to disconnect an IPC communication channel that was already
2140disconnected. See the documentation for the [`child_process`][] module
2141for more information.
2142
2143<a id="ERR_IPC_ONE_PIPE"></a>
2144
2145### `ERR_IPC_ONE_PIPE`
2146
2147An attempt was made to create a child Node.js process using more than one IPC
2148communication channel. See the documentation for the [`child_process`][] module
2149for more information.
2150
2151<a id="ERR_IPC_SYNC_FORK"></a>
2152
2153### `ERR_IPC_SYNC_FORK`
2154
2155An attempt was made to open an IPC communication channel with a synchronously
2156forked Node.js process. See the documentation for the [`child_process`][] module
2157for more information.
2158
2159<a id="ERR_LOADER_CHAIN_INCOMPLETE"></a>
2160
2161### `ERR_LOADER_CHAIN_INCOMPLETE`
2162
2163<!-- YAML
2164added: v18.6.0
2165-->
2166
2167An ESM loader hook returned without calling `next()` and without explicitly
2168signaling a short circuit.
2169
2170<a id="ERR_MANIFEST_ASSERT_INTEGRITY"></a>
2171
2172### `ERR_MANIFEST_ASSERT_INTEGRITY`
2173
2174An attempt was made to load a resource, but the resource did not match the
2175integrity defined by the policy manifest. See the documentation for [policy][]
2176manifests for more information.
2177
2178<a id="ERR_MANIFEST_DEPENDENCY_MISSING"></a>
2179
2180### `ERR_MANIFEST_DEPENDENCY_MISSING`
2181
2182An attempt was made to load a resource, but the resource was not listed as a
2183dependency from the location that attempted to load it. See the documentation
2184for [policy][] manifests for more information.
2185
2186<a id="ERR_MANIFEST_INTEGRITY_MISMATCH"></a>
2187
2188### `ERR_MANIFEST_INTEGRITY_MISMATCH`
2189
2190An attempt was made to load a policy manifest, but the manifest had multiple
2191entries for a resource which did not match each other. Update the manifest
2192entries to match in order to resolve this error. See the documentation for
2193[policy][] manifests for more information.
2194
2195<a id="ERR_MANIFEST_INVALID_RESOURCE_FIELD"></a>
2196
2197### `ERR_MANIFEST_INVALID_RESOURCE_FIELD`
2198
2199A policy manifest resource had an invalid value for one of its fields. Update
2200the manifest entry to match in order to resolve this error. See the
2201documentation for [policy][] manifests for more information.
2202
2203<a id="ERR_MANIFEST_INVALID_SPECIFIER"></a>
2204
2205### `ERR_MANIFEST_INVALID_SPECIFIER`
2206
2207A policy manifest resource had an invalid value for one of its dependency
2208mappings. Update the manifest entry to match to resolve this error. See the
2209documentation for [policy][] manifests for more information.
2210
2211<a id="ERR_MANIFEST_PARSE_POLICY"></a>
2212
2213### `ERR_MANIFEST_PARSE_POLICY`
2214
2215An attempt was made to load a policy manifest, but the manifest was unable to
2216be parsed. See the documentation for [policy][] manifests for more information.
2217
2218<a id="ERR_MANIFEST_TDZ"></a>
2219
2220### `ERR_MANIFEST_TDZ`
2221
2222An attempt was made to read from a policy manifest, but the manifest
2223initialization has not yet taken place. This is likely a bug in Node.js.
2224
2225<a id="ERR_MANIFEST_UNKNOWN_ONERROR"></a>
2226
2227### `ERR_MANIFEST_UNKNOWN_ONERROR`
2228
2229A policy manifest was loaded, but had an unknown value for its "onerror"
2230behavior. See the documentation for [policy][] manifests for more information.
2231
2232<a id="ERR_MEMORY_ALLOCATION_FAILED"></a>
2233
2234### `ERR_MEMORY_ALLOCATION_FAILED`
2235
2236An attempt was made to allocate memory (usually in the C++ layer) but it
2237failed.
2238
2239<a id="ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE"></a>
2240
2241### `ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE`
2242
2243<!-- YAML
2244added:
2245  - v14.5.0
2246  - v12.19.0
2247-->
2248
2249A message posted to a [`MessagePort`][] could not be deserialized in the target
2250[vm][] `Context`. Not all Node.js objects can be successfully instantiated in
2251any context at this time, and attempting to transfer them using `postMessage()`
2252can fail on the receiving side in that case.
2253
2254<a id="ERR_METHOD_NOT_IMPLEMENTED"></a>
2255
2256### `ERR_METHOD_NOT_IMPLEMENTED`
2257
2258A method is required but not implemented.
2259
2260<a id="ERR_MISSING_ARGS"></a>
2261
2262### `ERR_MISSING_ARGS`
2263
2264A required argument of a Node.js API was not passed. This is only used for
2265strict compliance with the API specification (which in some cases may accept
2266`func(undefined)` but not `func()`). In most native Node.js APIs,
2267`func(undefined)` and `func()` are treated identically, and the
2268[`ERR_INVALID_ARG_TYPE`][] error code may be used instead.
2269
2270<a id="ERR_MISSING_OPTION"></a>
2271
2272### `ERR_MISSING_OPTION`
2273
2274For APIs that accept options objects, some options might be mandatory. This code
2275is thrown if a required option is missing.
2276
2277<a id="ERR_MISSING_PASSPHRASE"></a>
2278
2279### `ERR_MISSING_PASSPHRASE`
2280
2281An attempt was made to read an encrypted key without specifying a passphrase.
2282
2283<a id="ERR_MISSING_PLATFORM_FOR_WORKER"></a>
2284
2285### `ERR_MISSING_PLATFORM_FOR_WORKER`
2286
2287The V8 platform used by this instance of Node.js does not support creating
2288Workers. This is caused by lack of embedder support for Workers. In particular,
2289this error will not occur with standard builds of Node.js.
2290
2291<a id="ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST"></a>
2292
2293### `ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST`
2294
2295<!-- YAML
2296added: v15.0.0
2297-->
2298
2299An object that needs to be explicitly listed in the `transferList` argument
2300is in the object passed to a [`postMessage()`][] call, but is not provided
2301in the `transferList` for that call. Usually, this is a `MessagePort`.
2302
2303In Node.js versions prior to v15.0.0, the error code being used here was
2304[`ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`][]. However, the set of
2305transferable object types has been expanded to cover more types than
2306`MessagePort`.
2307
2308<a id="ERR_MODULE_NOT_FOUND"></a>
2309
2310### `ERR_MODULE_NOT_FOUND`
2311
2312A module file could not be resolved by the ECMAScript modules loader while
2313attempting an `import` operation or when loading the program entry point.
2314
2315<a id="ERR_MULTIPLE_CALLBACK"></a>
2316
2317### `ERR_MULTIPLE_CALLBACK`
2318
2319A callback was called more than once.
2320
2321A callback is almost always meant to only be called once as the query
2322can either be fulfilled or rejected but not both at the same time. The latter
2323would be possible by calling a callback more than once.
2324
2325<a id="ERR_NAPI_CONS_FUNCTION"></a>
2326
2327### `ERR_NAPI_CONS_FUNCTION`
2328
2329While using `Node-API`, a constructor passed was not a function.
2330
2331<a id="ERR_NAPI_INVALID_DATAVIEW_ARGS"></a>
2332
2333### `ERR_NAPI_INVALID_DATAVIEW_ARGS`
2334
2335While calling `napi_create_dataview()`, a given `offset` was outside the bounds
2336of the dataview or `offset + length` was larger than a length of given `buffer`.
2337
2338<a id="ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT"></a>
2339
2340### `ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT`
2341
2342While calling `napi_create_typedarray()`, the provided `offset` was not a
2343multiple of the element size.
2344
2345<a id="ERR_NAPI_INVALID_TYPEDARRAY_LENGTH"></a>
2346
2347### `ERR_NAPI_INVALID_TYPEDARRAY_LENGTH`
2348
2349While calling `napi_create_typedarray()`, `(length * size_of_element) +
2350byte_offset` was larger than the length of given `buffer`.
2351
2352<a id="ERR_NAPI_TSFN_CALL_JS"></a>
2353
2354### `ERR_NAPI_TSFN_CALL_JS`
2355
2356An error occurred while invoking the JavaScript portion of the thread-safe
2357function.
2358
2359<a id="ERR_NAPI_TSFN_GET_UNDEFINED"></a>
2360
2361### `ERR_NAPI_TSFN_GET_UNDEFINED`
2362
2363An error occurred while attempting to retrieve the JavaScript `undefined`
2364value.
2365
2366<a id="ERR_NAPI_TSFN_START_IDLE_LOOP"></a>
2367
2368### `ERR_NAPI_TSFN_START_IDLE_LOOP`
2369
2370On the main thread, values are removed from the queue associated with the
2371thread-safe function in an idle loop. This error indicates that an error
2372has occurred when attempting to start the loop.
2373
2374<a id="ERR_NAPI_TSFN_STOP_IDLE_LOOP"></a>
2375
2376### `ERR_NAPI_TSFN_STOP_IDLE_LOOP`
2377
2378Once no more items are left in the queue, the idle loop must be suspended. This
2379error indicates that the idle loop has failed to stop.
2380
2381<a id="ERR_NOT_BUILDING_SNAPSHOT"></a>
2382
2383### `ERR_NOT_BUILDING_SNAPSHOT`
2384
2385An attempt was made to use operations that can only be used when building
2386V8 startup snapshot even though Node.js isn't building one.
2387
2388<a id="ERR_NO_CRYPTO"></a>
2389
2390### `ERR_NO_CRYPTO`
2391
2392An attempt was made to use crypto features while Node.js was not compiled with
2393OpenSSL crypto support.
2394
2395<a id="ERR_NO_ICU"></a>
2396
2397### `ERR_NO_ICU`
2398
2399An attempt was made to use features that require [ICU][], but Node.js was not
2400compiled with ICU support.
2401
2402<a id="ERR_NON_CONTEXT_AWARE_DISABLED"></a>
2403
2404### `ERR_NON_CONTEXT_AWARE_DISABLED`
2405
2406A non-context-aware native addon was loaded in a process that disallows them.
2407
2408<a id="ERR_OUT_OF_RANGE"></a>
2409
2410### `ERR_OUT_OF_RANGE`
2411
2412A given value is out of the accepted range.
2413
2414<a id="ERR_PACKAGE_IMPORT_NOT_DEFINED"></a>
2415
2416### `ERR_PACKAGE_IMPORT_NOT_DEFINED`
2417
2418The `package.json` [`"imports"`][] field does not define the given internal
2419package specifier mapping.
2420
2421<a id="ERR_PACKAGE_PATH_NOT_EXPORTED"></a>
2422
2423### `ERR_PACKAGE_PATH_NOT_EXPORTED`
2424
2425The `package.json` [`"exports"`][] field does not export the requested subpath.
2426Because exports are encapsulated, private internal modules that are not exported
2427cannot be imported through the package resolution, unless using an absolute URL.
2428
2429<a id="ERR_PARSE_ARGS_INVALID_OPTION_VALUE"></a>
2430
2431### `ERR_PARSE_ARGS_INVALID_OPTION_VALUE`
2432
2433<!-- YAML
2434added: v18.3.0
2435-->
2436
2437When `strict` set to `true`, thrown by [`util.parseArgs()`][] if a {boolean}
2438value is provided for an option of type {string}, or if a {string}
2439value is provided for an option of type {boolean}.
2440
2441<a id="ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL"></a>
2442
2443### `ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL`
2444
2445<!-- YAML
2446added: v18.3.0
2447-->
2448
2449Thrown by [`util.parseArgs()`][], when a positional argument is provided and
2450`allowPositionals` is set to `false`.
2451
2452<a id="ERR_PARSE_ARGS_UNKNOWN_OPTION"></a>
2453
2454### `ERR_PARSE_ARGS_UNKNOWN_OPTION`
2455
2456<!-- YAML
2457added: v18.3.0
2458-->
2459
2460When `strict` set to `true`, thrown by [`util.parseArgs()`][] if an argument
2461is not configured in `options`.
2462
2463<a id="ERR_PERFORMANCE_INVALID_TIMESTAMP"></a>
2464
2465### `ERR_PERFORMANCE_INVALID_TIMESTAMP`
2466
2467An invalid timestamp value was provided for a performance mark or measure.
2468
2469<a id="ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS"></a>
2470
2471### `ERR_PERFORMANCE_MEASURE_INVALID_OPTIONS`
2472
2473Invalid options were provided for a performance measure.
2474
2475<a id="ERR_PROTO_ACCESS"></a>
2476
2477### `ERR_PROTO_ACCESS`
2478
2479Accessing `Object.prototype.__proto__` has been forbidden using
2480[`--disable-proto=throw`][]. [`Object.getPrototypeOf`][] and
2481[`Object.setPrototypeOf`][] should be used to get and set the prototype of an
2482object.
2483
2484<a id="ERR_REQUIRE_ESM"></a>
2485
2486### `ERR_REQUIRE_ESM`
2487
2488> Stability: 1 - Experimental
2489
2490An attempt was made to `require()` an [ES Module][].
2491
2492<a id="ERR_SCRIPT_EXECUTION_INTERRUPTED"></a>
2493
2494### `ERR_SCRIPT_EXECUTION_INTERRUPTED`
2495
2496Script execution was interrupted by `SIGINT` (For
2497example, <kbd>Ctrl</kbd>+<kbd>C</kbd> was pressed.)
2498
2499<a id="ERR_SCRIPT_EXECUTION_TIMEOUT"></a>
2500
2501### `ERR_SCRIPT_EXECUTION_TIMEOUT`
2502
2503Script execution timed out, possibly due to bugs in the script being executed.
2504
2505<a id="ERR_SERVER_ALREADY_LISTEN"></a>
2506
2507### `ERR_SERVER_ALREADY_LISTEN`
2508
2509The [`server.listen()`][] method was called while a `net.Server` was already
2510listening. This applies to all instances of `net.Server`, including HTTP, HTTPS,
2511and HTTP/2 `Server` instances.
2512
2513<a id="ERR_SERVER_NOT_RUNNING"></a>
2514
2515### `ERR_SERVER_NOT_RUNNING`
2516
2517The [`server.close()`][] method was called when a `net.Server` was not
2518running. This applies to all instances of `net.Server`, including HTTP, HTTPS,
2519and HTTP/2 `Server` instances.
2520
2521<a id="ERR_SOCKET_ALREADY_BOUND"></a>
2522
2523### `ERR_SOCKET_ALREADY_BOUND`
2524
2525An attempt was made to bind a socket that has already been bound.
2526
2527<a id="ERR_SOCKET_BAD_BUFFER_SIZE"></a>
2528
2529### `ERR_SOCKET_BAD_BUFFER_SIZE`
2530
2531An invalid (negative) size was passed for either the `recvBufferSize` or
2532`sendBufferSize` options in [`dgram.createSocket()`][].
2533
2534<a id="ERR_SOCKET_BAD_PORT"></a>
2535
2536### `ERR_SOCKET_BAD_PORT`
2537
2538An API function expecting a port >= 0 and < 65536 received an invalid value.
2539
2540<a id="ERR_SOCKET_BAD_TYPE"></a>
2541
2542### `ERR_SOCKET_BAD_TYPE`
2543
2544An API function expecting a socket type (`udp4` or `udp6`) received an invalid
2545value.
2546
2547<a id="ERR_SOCKET_BUFFER_SIZE"></a>
2548
2549### `ERR_SOCKET_BUFFER_SIZE`
2550
2551While using [`dgram.createSocket()`][], the size of the receive or send `Buffer`
2552could not be determined.
2553
2554<a id="ERR_SOCKET_CLOSED"></a>
2555
2556### `ERR_SOCKET_CLOSED`
2557
2558An attempt was made to operate on an already closed socket.
2559
2560<a id="ERR_SOCKET_CLOSED_BEFORE_CONNECTION"></a>
2561
2562### `ERR_SOCKET_CLOSED_BEFORE_CONNECTION`
2563
2564When calling [`net.Socket.write()`][] on a connecting socket and the socket was
2565closed before the connection was established.
2566
2567<a id="ERR_SOCKET_DGRAM_IS_CONNECTED"></a>
2568
2569### `ERR_SOCKET_DGRAM_IS_CONNECTED`
2570
2571A [`dgram.connect()`][] call was made on an already connected socket.
2572
2573<a id="ERR_SOCKET_DGRAM_NOT_CONNECTED"></a>
2574
2575### `ERR_SOCKET_DGRAM_NOT_CONNECTED`
2576
2577A [`dgram.disconnect()`][] or [`dgram.remoteAddress()`][] call was made on a
2578disconnected socket.
2579
2580<a id="ERR_SOCKET_DGRAM_NOT_RUNNING"></a>
2581
2582### `ERR_SOCKET_DGRAM_NOT_RUNNING`
2583
2584A call was made and the UDP subsystem was not running.
2585
2586<a id="ERR_SRI_PARSE"></a>
2587
2588### `ERR_SRI_PARSE`
2589
2590A string was provided for a Subresource Integrity check, but was unable to be
2591parsed. Check the format of integrity attributes by looking at the
2592[Subresource Integrity specification][].
2593
2594<a id="ERR_STREAM_ALREADY_FINISHED"></a>
2595
2596### `ERR_STREAM_ALREADY_FINISHED`
2597
2598A stream method was called that cannot complete because the stream was
2599finished.
2600
2601<a id="ERR_STREAM_CANNOT_PIPE"></a>
2602
2603### `ERR_STREAM_CANNOT_PIPE`
2604
2605An attempt was made to call [`stream.pipe()`][] on a [`Writable`][] stream.
2606
2607<a id="ERR_STREAM_DESTROYED"></a>
2608
2609### `ERR_STREAM_DESTROYED`
2610
2611A stream method was called that cannot complete because the stream was
2612destroyed using `stream.destroy()`.
2613
2614<a id="ERR_STREAM_NULL_VALUES"></a>
2615
2616### `ERR_STREAM_NULL_VALUES`
2617
2618An attempt was made to call [`stream.write()`][] with a `null` chunk.
2619
2620<a id="ERR_STREAM_PREMATURE_CLOSE"></a>
2621
2622### `ERR_STREAM_PREMATURE_CLOSE`
2623
2624An error returned by `stream.finished()` and `stream.pipeline()`, when a stream
2625or a pipeline ends non gracefully with no explicit error.
2626
2627<a id="ERR_STREAM_PUSH_AFTER_EOF"></a>
2628
2629### `ERR_STREAM_PUSH_AFTER_EOF`
2630
2631An attempt was made to call [`stream.push()`][] after a `null`(EOF) had been
2632pushed to the stream.
2633
2634<a id="ERR_STREAM_UNSHIFT_AFTER_END_EVENT"></a>
2635
2636### `ERR_STREAM_UNSHIFT_AFTER_END_EVENT`
2637
2638An attempt was made to call [`stream.unshift()`][] after the `'end'` event was
2639emitted.
2640
2641<a id="ERR_STREAM_WRAP"></a>
2642
2643### `ERR_STREAM_WRAP`
2644
2645Prevents an abort if a string decoder was set on the Socket or if the decoder
2646is in `objectMode`.
2647
2648```js
2649const Socket = require('node:net').Socket;
2650const instance = new Socket();
2651
2652instance.setEncoding('utf8');
2653```
2654
2655<a id="ERR_STREAM_WRITE_AFTER_END"></a>
2656
2657### `ERR_STREAM_WRITE_AFTER_END`
2658
2659An attempt was made to call [`stream.write()`][] after `stream.end()` has been
2660called.
2661
2662<a id="ERR_STRING_TOO_LONG"></a>
2663
2664### `ERR_STRING_TOO_LONG`
2665
2666An attempt has been made to create a string longer than the maximum allowed
2667length.
2668
2669<a id="ERR_SYNTHETIC"></a>
2670
2671### `ERR_SYNTHETIC`
2672
2673An artificial error object used to capture the call stack for diagnostic
2674reports.
2675
2676<a id="ERR_SYSTEM_ERROR"></a>
2677
2678### `ERR_SYSTEM_ERROR`
2679
2680An unspecified or non-specific system error has occurred within the Node.js
2681process. The error object will have an `err.info` object property with
2682additional details.
2683
2684<a id="ERR_TAP_LEXER_ERROR"></a>
2685
2686### `ERR_TAP_LEXER_ERROR`
2687
2688An error representing a failing lexer state.
2689
2690<a id="ERR_TAP_PARSER_ERROR"></a>
2691
2692### `ERR_TAP_PARSER_ERROR`
2693
2694An error representing a failing parser state. Additional information about
2695the token causing the error is available via the `cause` property.
2696
2697<a id="ERR_TAP_VALIDATION_ERROR"></a>
2698
2699### `ERR_TAP_VALIDATION_ERROR`
2700
2701This error represents a failed TAP validation.
2702
2703<a id="ERR_TEST_FAILURE"></a>
2704
2705### `ERR_TEST_FAILURE`
2706
2707This error represents a failed test. Additional information about the failure
2708is available via the `cause` property. The `failureType` property specifies
2709what the test was doing when the failure occurred.
2710
2711<a id="ERR_TLS_CERT_ALTNAME_FORMAT"></a>
2712
2713### `ERR_TLS_CERT_ALTNAME_FORMAT`
2714
2715This error is thrown by `checkServerIdentity` if a user-supplied
2716`subjectaltname` property violates encoding rules. Certificate objects produced
2717by Node.js itself always comply with encoding rules and will never cause
2718this error.
2719
2720<a id="ERR_TLS_CERT_ALTNAME_INVALID"></a>
2721
2722### `ERR_TLS_CERT_ALTNAME_INVALID`
2723
2724While using TLS, the host name/IP of the peer did not match any of the
2725`subjectAltNames` in its certificate.
2726
2727<a id="ERR_TLS_DH_PARAM_SIZE"></a>
2728
2729### `ERR_TLS_DH_PARAM_SIZE`
2730
2731While using TLS, the parameter offered for the Diffie-Hellman (`DH`)
2732key-agreement protocol is too small. By default, the key length must be greater
2733than or equal to 1024 bits to avoid vulnerabilities, even though it is strongly
2734recommended to use 2048 bits or larger for stronger security.
2735
2736<a id="ERR_TLS_HANDSHAKE_TIMEOUT"></a>
2737
2738### `ERR_TLS_HANDSHAKE_TIMEOUT`
2739
2740A TLS/SSL handshake timed out. In this case, the server must also abort the
2741connection.
2742
2743<a id="ERR_TLS_INVALID_CONTEXT"></a>
2744
2745### `ERR_TLS_INVALID_CONTEXT`
2746
2747<!-- YAML
2748added: v13.3.0
2749-->
2750
2751The context must be a `SecureContext`.
2752
2753<a id="ERR_TLS_INVALID_PROTOCOL_METHOD"></a>
2754
2755### `ERR_TLS_INVALID_PROTOCOL_METHOD`
2756
2757The specified  `secureProtocol` method is invalid. It is  either unknown, or
2758disabled because it is insecure.
2759
2760<a id="ERR_TLS_INVALID_PROTOCOL_VERSION"></a>
2761
2762### `ERR_TLS_INVALID_PROTOCOL_VERSION`
2763
2764Valid TLS protocol versions are `'TLSv1'`, `'TLSv1.1'`, or `'TLSv1.2'`.
2765
2766<a id="ERR_TLS_INVALID_STATE"></a>
2767
2768### `ERR_TLS_INVALID_STATE`
2769
2770<!-- YAML
2771added:
2772 - v13.10.0
2773 - v12.17.0
2774-->
2775
2776The TLS socket must be connected and securely established. Ensure the 'secure'
2777event is emitted before continuing.
2778
2779<a id="ERR_TLS_PROTOCOL_VERSION_CONFLICT"></a>
2780
2781### `ERR_TLS_PROTOCOL_VERSION_CONFLICT`
2782
2783Attempting to set a TLS protocol `minVersion` or `maxVersion` conflicts with an
2784attempt to set the `secureProtocol` explicitly. Use one mechanism or the other.
2785
2786<a id="ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED"></a>
2787
2788### `ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED`
2789
2790Failed to set PSK identity hint. Hint may be too long.
2791
2792<a id="ERR_TLS_RENEGOTIATION_DISABLED"></a>
2793
2794### `ERR_TLS_RENEGOTIATION_DISABLED`
2795
2796An attempt was made to renegotiate TLS on a socket instance with renegotiation
2797disabled.
2798
2799<a id="ERR_TLS_REQUIRED_SERVER_NAME"></a>
2800
2801### `ERR_TLS_REQUIRED_SERVER_NAME`
2802
2803While using TLS, the `server.addContext()` method was called without providing
2804a host name in the first parameter.
2805
2806<a id="ERR_TLS_SESSION_ATTACK"></a>
2807
2808### `ERR_TLS_SESSION_ATTACK`
2809
2810An excessive amount of TLS renegotiations is detected, which is a potential
2811vector for denial-of-service attacks.
2812
2813<a id="ERR_TLS_SNI_FROM_SERVER"></a>
2814
2815### `ERR_TLS_SNI_FROM_SERVER`
2816
2817An attempt was made to issue Server Name Indication from a TLS server-side
2818socket, which is only valid from a client.
2819
2820<a id="ERR_TRACE_EVENTS_CATEGORY_REQUIRED"></a>
2821
2822### `ERR_TRACE_EVENTS_CATEGORY_REQUIRED`
2823
2824The `trace_events.createTracing()` method requires at least one trace event
2825category.
2826
2827<a id="ERR_TRACE_EVENTS_UNAVAILABLE"></a>
2828
2829### `ERR_TRACE_EVENTS_UNAVAILABLE`
2830
2831The `node:trace_events` module could not be loaded because Node.js was compiled
2832with the `--without-v8-platform` flag.
2833
2834<a id="ERR_TRANSFORM_ALREADY_TRANSFORMING"></a>
2835
2836### `ERR_TRANSFORM_ALREADY_TRANSFORMING`
2837
2838A `Transform` stream finished while it was still transforming.
2839
2840<a id="ERR_TRANSFORM_WITH_LENGTH_0"></a>
2841
2842### `ERR_TRANSFORM_WITH_LENGTH_0`
2843
2844A `Transform` stream finished with data still in the write buffer.
2845
2846<a id="ERR_TTY_INIT_FAILED"></a>
2847
2848### `ERR_TTY_INIT_FAILED`
2849
2850The initialization of a TTY failed due to a system error.
2851
2852<a id="ERR_UNAVAILABLE_DURING_EXIT"></a>
2853
2854### `ERR_UNAVAILABLE_DURING_EXIT`
2855
2856Function was called within a [`process.on('exit')`][] handler that shouldn't be
2857called within [`process.on('exit')`][] handler.
2858
2859<a id="ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET"></a>
2860
2861### `ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET`
2862
2863[`process.setUncaughtExceptionCaptureCallback()`][] was called twice,
2864without first resetting the callback to `null`.
2865
2866This error is designed to prevent accidentally overwriting a callback registered
2867from another module.
2868
2869<a id="ERR_UNESCAPED_CHARACTERS"></a>
2870
2871### `ERR_UNESCAPED_CHARACTERS`
2872
2873A string that contained unescaped characters was received.
2874
2875<a id="ERR_UNHANDLED_ERROR"></a>
2876
2877### `ERR_UNHANDLED_ERROR`
2878
2879An unhandled error occurred (for instance, when an `'error'` event is emitted
2880by an [`EventEmitter`][] but an `'error'` handler is not registered).
2881
2882<a id="ERR_UNKNOWN_BUILTIN_MODULE"></a>
2883
2884### `ERR_UNKNOWN_BUILTIN_MODULE`
2885
2886Used to identify a specific kind of internal Node.js error that should not
2887typically be triggered by user code. Instances of this error point to an
2888internal bug within the Node.js binary itself.
2889
2890<a id="ERR_UNKNOWN_CREDENTIAL"></a>
2891
2892### `ERR_UNKNOWN_CREDENTIAL`
2893
2894A Unix group or user identifier that does not exist was passed.
2895
2896<a id="ERR_UNKNOWN_ENCODING"></a>
2897
2898### `ERR_UNKNOWN_ENCODING`
2899
2900An invalid or unknown encoding option was passed to an API.
2901
2902<a id="ERR_UNKNOWN_FILE_EXTENSION"></a>
2903
2904### `ERR_UNKNOWN_FILE_EXTENSION`
2905
2906> Stability: 1 - Experimental
2907
2908An attempt was made to load a module with an unknown or unsupported file
2909extension.
2910
2911<a id="ERR_UNKNOWN_MODULE_FORMAT"></a>
2912
2913### `ERR_UNKNOWN_MODULE_FORMAT`
2914
2915> Stability: 1 - Experimental
2916
2917An attempt was made to load a module with an unknown or unsupported format.
2918
2919<a id="ERR_UNKNOWN_SIGNAL"></a>
2920
2921### `ERR_UNKNOWN_SIGNAL`
2922
2923An invalid or unknown process signal was passed to an API expecting a valid
2924signal (such as [`subprocess.kill()`][]).
2925
2926<a id="ERR_UNSUPPORTED_DIR_IMPORT"></a>
2927
2928### `ERR_UNSUPPORTED_DIR_IMPORT`
2929
2930`import` a directory URL is unsupported. Instead,
2931[self-reference a package using its name][] and [define a custom subpath][] in
2932the [`"exports"`][] field of the [`package.json`][] file.
2933
2934<!-- eslint-skip -->
2935
2936```js
2937import './'; // unsupported
2938import './index.js'; // supported
2939import 'package-name'; // supported
2940```
2941
2942<a id="ERR_UNSUPPORTED_ESM_URL_SCHEME"></a>
2943
2944### `ERR_UNSUPPORTED_ESM_URL_SCHEME`
2945
2946`import` with URL schemes other than `file` and `data` is unsupported.
2947
2948<a id="ERR_USE_AFTER_CLOSE"></a>
2949
2950### `ERR_USE_AFTER_CLOSE`
2951
2952> Stability: 1 - Experimental
2953
2954An attempt was made to use something that was already closed.
2955
2956<a id="ERR_VALID_PERFORMANCE_ENTRY_TYPE"></a>
2957
2958### `ERR_VALID_PERFORMANCE_ENTRY_TYPE`
2959
2960While using the Performance Timing API (`perf_hooks`), no valid performance
2961entry types are found.
2962
2963<a id="ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING"></a>
2964
2965### `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`
2966
2967A dynamic import callback was not specified.
2968
2969<a id="ERR_VM_MODULE_ALREADY_LINKED"></a>
2970
2971### `ERR_VM_MODULE_ALREADY_LINKED`
2972
2973The module attempted to be linked is not eligible for linking, because of one of
2974the following reasons:
2975
2976* It has already been linked (`linkingStatus` is `'linked'`)
2977* It is being linked (`linkingStatus` is `'linking'`)
2978* Linking has failed for this module (`linkingStatus` is `'errored'`)
2979
2980<a id="ERR_VM_MODULE_CACHED_DATA_REJECTED"></a>
2981
2982### `ERR_VM_MODULE_CACHED_DATA_REJECTED`
2983
2984The `cachedData` option passed to a module constructor is invalid.
2985
2986<a id="ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA"></a>
2987
2988### `ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA`
2989
2990Cached data cannot be created for modules which have already been evaluated.
2991
2992<a id="ERR_VM_MODULE_DIFFERENT_CONTEXT"></a>
2993
2994### `ERR_VM_MODULE_DIFFERENT_CONTEXT`
2995
2996The module being returned from the linker function is from a different context
2997than the parent module. Linked modules must share the same context.
2998
2999<a id="ERR_VM_MODULE_LINK_FAILURE"></a>
3000
3001### `ERR_VM_MODULE_LINK_FAILURE`
3002
3003The module was unable to be linked due to a failure.
3004
3005<a id="ERR_VM_MODULE_NOT_MODULE"></a>
3006
3007### `ERR_VM_MODULE_NOT_MODULE`
3008
3009The fulfilled value of a linking promise is not a `vm.Module` object.
3010
3011<a id="ERR_VM_MODULE_STATUS"></a>
3012
3013### `ERR_VM_MODULE_STATUS`
3014
3015The current module's status does not allow for this operation. The specific
3016meaning of the error depends on the specific function.
3017
3018<a id="ERR_WASI_ALREADY_STARTED"></a>
3019
3020### `ERR_WASI_ALREADY_STARTED`
3021
3022The WASI instance has already started.
3023
3024<a id="ERR_WASI_NOT_STARTED"></a>
3025
3026### `ERR_WASI_NOT_STARTED`
3027
3028The WASI instance has not been started.
3029
3030<a id="ERR_WEBASSEMBLY_RESPONSE"></a>
3031
3032### `ERR_WEBASSEMBLY_RESPONSE`
3033
3034<!-- YAML
3035added: v18.1.0
3036-->
3037
3038The `Response` that has been passed to `WebAssembly.compileStreaming` or to
3039`WebAssembly.instantiateStreaming` is not a valid WebAssembly response.
3040
3041<a id="ERR_WORKER_INIT_FAILED"></a>
3042
3043### `ERR_WORKER_INIT_FAILED`
3044
3045The `Worker` initialization failed.
3046
3047<a id="ERR_WORKER_INVALID_EXEC_ARGV"></a>
3048
3049### `ERR_WORKER_INVALID_EXEC_ARGV`
3050
3051The `execArgv` option passed to the `Worker` constructor contains
3052invalid flags.
3053
3054<a id="ERR_WORKER_NOT_RUNNING"></a>
3055
3056### `ERR_WORKER_NOT_RUNNING`
3057
3058An operation failed because the `Worker` instance is not currently running.
3059
3060<a id="ERR_WORKER_OUT_OF_MEMORY"></a>
3061
3062### `ERR_WORKER_OUT_OF_MEMORY`
3063
3064The `Worker` instance terminated because it reached its memory limit.
3065
3066<a id="ERR_WORKER_PATH"></a>
3067
3068### `ERR_WORKER_PATH`
3069
3070The path for the main script of a worker is neither an absolute path
3071nor a relative path starting with `./` or `../`.
3072
3073<a id="ERR_WORKER_UNSERIALIZABLE_ERROR"></a>
3074
3075### `ERR_WORKER_UNSERIALIZABLE_ERROR`
3076
3077All attempts at serializing an uncaught exception from a worker thread failed.
3078
3079<a id="ERR_WORKER_UNSUPPORTED_OPERATION"></a>
3080
3081### `ERR_WORKER_UNSUPPORTED_OPERATION`
3082
3083The requested functionality is not supported in worker threads.
3084
3085<a id="ERR_ZLIB_INITIALIZATION_FAILED"></a>
3086
3087### `ERR_ZLIB_INITIALIZATION_FAILED`
3088
3089Creation of a [`zlib`][] object failed due to incorrect configuration.
3090
3091<a id="HPE_HEADER_OVERFLOW"></a>
3092
3093### `HPE_HEADER_OVERFLOW`
3094
3095<!-- YAML
3096changes:
3097  - version:
3098     - v11.4.0
3099     - v10.15.0
3100    commit: 186035243fad247e3955f
3101    pr-url: https://github.com/nodejs-private/node-private/pull/143
3102    description: Max header size in `http_parser` was set to 8 KiB.
3103-->
3104
3105Too much HTTP header data was received. In order to protect against malicious or
3106malconfigured clients, if more than 8 KiB of HTTP header data is received then
3107HTTP parsing will abort without a request or response object being created, and
3108an `Error` with this code will be emitted.
3109
3110<a id="HPE_UNEXPECTED_CONTENT_LENGTH"></a>
3111
3112### `HPE_UNEXPECTED_CONTENT_LENGTH`
3113
3114Server is sending both a `Content-Length` header and `Transfer-Encoding: chunked`.
3115
3116`Transfer-Encoding: chunked` allows the server to maintain an HTTP persistent
3117connection for dynamically generated content.
3118In this case, the `Content-Length` HTTP header cannot be used.
3119
3120Use `Content-Length` or `Transfer-Encoding: chunked`.
3121
3122<a id="MODULE_NOT_FOUND"></a>
3123
3124### `MODULE_NOT_FOUND`
3125
3126<!-- YAML
3127changes:
3128  - version: v12.0.0
3129    pr-url: https://github.com/nodejs/node/pull/25690
3130    description: Added `requireStack` property.
3131-->
3132
3133A module file could not be resolved by the CommonJS modules loader while
3134attempting a [`require()`][] operation or when loading the program entry point.
3135
3136## Legacy Node.js error codes
3137
3138> Stability: 0 - Deprecated. These error codes are either inconsistent, or have
3139> been removed.
3140
3141<a id="ERR_CANNOT_TRANSFER_OBJECT"></a>
3142
3143### `ERR_CANNOT_TRANSFER_OBJECT`
3144
3145<!--
3146added: v10.5.0
3147removed: v12.5.0
3148-->
3149
3150The value passed to `postMessage()` contained an object that is not supported
3151for transferring.
3152
3153<a id="ERR_CRYPTO_HASH_DIGEST_NO_UTF16"></a>
3154
3155### `ERR_CRYPTO_HASH_DIGEST_NO_UTF16`
3156
3157<!-- YAML
3158added: v9.0.0
3159removed: v12.12.0
3160-->
3161
3162The UTF-16 encoding was used with [`hash.digest()`][]. While the
3163`hash.digest()` method does allow an `encoding` argument to be passed in,
3164causing the method to return a string rather than a `Buffer`, the UTF-16
3165encoding (e.g. `ucs` or `utf16le`) is not supported.
3166
3167<a id="ERR_HTTP2_FRAME_ERROR"></a>
3168
3169### `ERR_HTTP2_FRAME_ERROR`
3170
3171<!-- YAML
3172added: v9.0.0
3173removed: v10.0.0
3174-->
3175
3176Used when a failure occurs sending an individual frame on the HTTP/2
3177session.
3178
3179<a id="ERR_HTTP2_HEADERS_OBJECT"></a>
3180
3181### `ERR_HTTP2_HEADERS_OBJECT`
3182
3183<!-- YAML
3184added: v9.0.0
3185removed: v10.0.0
3186-->
3187
3188Used when an HTTP/2 Headers Object is expected.
3189
3190<a id="ERR_HTTP2_HEADER_REQUIRED"></a>
3191
3192### `ERR_HTTP2_HEADER_REQUIRED`
3193
3194<!-- YAML
3195added: v9.0.0
3196removed: v10.0.0
3197-->
3198
3199Used when a required header is missing in an HTTP/2 message.
3200
3201<a id="ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND"></a>
3202
3203### `ERR_HTTP2_INFO_HEADERS_AFTER_RESPOND`
3204
3205<!-- YAML
3206added: v9.0.0
3207removed: v10.0.0
3208-->
3209
3210HTTP/2 informational headers must only be sent _prior_ to calling the
3211`Http2Stream.prototype.respond()` method.
3212
3213<a id="ERR_HTTP2_STREAM_CLOSED"></a>
3214
3215### `ERR_HTTP2_STREAM_CLOSED`
3216
3217<!-- YAML
3218added: v9.0.0
3219removed: v10.0.0
3220-->
3221
3222Used when an action has been performed on an HTTP/2 Stream that has already
3223been closed.
3224
3225<a id="ERR_HTTP_INVALID_CHAR"></a>
3226
3227### `ERR_HTTP_INVALID_CHAR`
3228
3229<!-- YAML
3230added: v9.0.0
3231removed: v10.0.0
3232-->
3233
3234Used when an invalid character is found in an HTTP response status message
3235(reason phrase).
3236
3237<a id="ERR_INDEX_OUT_OF_RANGE"></a>
3238
3239### `ERR_INDEX_OUT_OF_RANGE`
3240
3241<!-- YAML
3242  added: v10.0.0
3243  removed: v11.0.0
3244-->
3245
3246A given index was out of the accepted range (e.g. negative offsets).
3247
3248<a id="ERR_INVALID_OPT_VALUE"></a>
3249
3250### `ERR_INVALID_OPT_VALUE`
3251
3252<!-- YAML
3253added: v8.0.0
3254removed: v15.0.0
3255-->
3256
3257An invalid or unexpected value was passed in an options object.
3258
3259<a id="ERR_INVALID_OPT_VALUE_ENCODING"></a>
3260
3261### `ERR_INVALID_OPT_VALUE_ENCODING`
3262
3263<!-- YAML
3264added: v9.0.0
3265removed: v15.0.0
3266-->
3267
3268An invalid or unknown file encoding was passed.
3269
3270<a id="ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST"></a>
3271
3272### `ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`
3273
3274<!-- YAML
3275removed: v15.0.0
3276-->
3277
3278This error code was replaced by [`ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST`][]
3279in Node.js v15.0.0, because it is no longer accurate as other types of
3280transferable objects also exist now.
3281
3282<a id="ERR_NAPI_CONS_PROTOTYPE_OBJECT"></a>
3283
3284### `ERR_NAPI_CONS_PROTOTYPE_OBJECT`
3285
3286<!-- YAML
3287added: v9.0.0
3288removed: v10.0.0
3289-->
3290
3291Used by the `Node-API` when `Constructor.prototype` is not an object.
3292
3293<a id="ERR_NETWORK_IMPORT_BAD_RESPONSE"></a>
3294
3295### `ERR_NETWORK_IMPORT_BAD_RESPONSE`
3296
3297> Stability: 1 - Experimental
3298
3299Response was received but was invalid when importing a module over the network.
3300
3301<a id="ERR_NETWORK_IMPORT_DISALLOWED"></a>
3302
3303### `ERR_NETWORK_IMPORT_DISALLOWED`
3304
3305> Stability: 1 - Experimental
3306
3307A network module attempted to load another module that it is not allowed to
3308load. Likely this restriction is for security reasons.
3309
3310<a id="ERR_NO_LONGER_SUPPORTED"></a>
3311
3312### `ERR_NO_LONGER_SUPPORTED`
3313
3314A Node.js API was called in an unsupported manner, such as
3315`Buffer.write(string, encoding, offset[, length])`.
3316
3317<a id="ERR_OPERATION_FAILED"></a>
3318
3319### `ERR_OPERATION_FAILED`
3320
3321<!-- YAML
3322added: v15.0.0
3323-->
3324
3325An operation failed. This is typically used to signal the general failure
3326of an asynchronous operation.
3327
3328<a id="ERR_OUTOFMEMORY"></a>
3329
3330### `ERR_OUTOFMEMORY`
3331
3332<!-- YAML
3333added: v9.0.0
3334removed: v10.0.0
3335-->
3336
3337Used generically to identify that an operation caused an out of memory
3338condition.
3339
3340<a id="ERR_PARSE_HISTORY_DATA"></a>
3341
3342### `ERR_PARSE_HISTORY_DATA`
3343
3344<!-- YAML
3345added: v9.0.0
3346removed: v10.0.0
3347-->
3348
3349The `node:repl` module was unable to parse data from the REPL history file.
3350
3351<a id="ERR_SOCKET_CANNOT_SEND"></a>
3352
3353### `ERR_SOCKET_CANNOT_SEND`
3354
3355<!-- YAML
3356added: v9.0.0
3357removed: v14.0.0
3358-->
3359
3360Data could not be sent on a socket.
3361
3362<a id="ERR_STDERR_CLOSE"></a>
3363
3364### `ERR_STDERR_CLOSE`
3365
3366<!-- YAML
3367removed: v10.12.0
3368changes:
3369  - version: v10.12.0
3370    pr-url: https://github.com/nodejs/node/pull/23053
3371    description: Rather than emitting an error, `process.stderr.end()` now
3372                 only closes the stream side but not the underlying resource,
3373                 making this error obsolete.
3374-->
3375
3376An attempt was made to close the `process.stderr` stream. By design, Node.js
3377does not allow `stdout` or `stderr` streams to be closed by user code.
3378
3379<a id="ERR_STDOUT_CLOSE"></a>
3380
3381### `ERR_STDOUT_CLOSE`
3382
3383<!-- YAML
3384removed: v10.12.0
3385changes:
3386  - version: v10.12.0
3387    pr-url: https://github.com/nodejs/node/pull/23053
3388    description: Rather than emitting an error, `process.stderr.end()` now
3389                 only closes the stream side but not the underlying resource,
3390                 making this error obsolete.
3391-->
3392
3393An attempt was made to close the `process.stdout` stream. By design, Node.js
3394does not allow `stdout` or `stderr` streams to be closed by user code.
3395
3396<a id="ERR_STREAM_READ_NOT_IMPLEMENTED"></a>
3397
3398### `ERR_STREAM_READ_NOT_IMPLEMENTED`
3399
3400<!-- YAML
3401added: v9.0.0
3402removed: v10.0.0
3403-->
3404
3405Used when an attempt is made to use a readable stream that has not implemented
3406[`readable._read()`][].
3407
3408<a id="ERR_TLS_RENEGOTIATION_FAILED"></a>
3409
3410### `ERR_TLS_RENEGOTIATION_FAILED`
3411
3412<!-- YAML
3413added: v9.0.0
3414removed: v10.0.0
3415-->
3416
3417Used when a TLS renegotiation request has failed in a non-specific way.
3418
3419<a id="ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER"></a>
3420
3421### `ERR_TRANSFERRING_EXTERNALIZED_SHAREDARRAYBUFFER`
3422
3423<!-- YAML
3424added: v10.5.0
3425removed: v14.0.0
3426-->
3427
3428A `SharedArrayBuffer` whose memory is not managed by the JavaScript engine
3429or by Node.js was encountered during serialization. Such a `SharedArrayBuffer`
3430cannot be serialized.
3431
3432This can only happen when native addons create `SharedArrayBuffer`s in
3433"externalized" mode, or put existing `SharedArrayBuffer` into externalized mode.
3434
3435<a id="ERR_UNKNOWN_STDIN_TYPE"></a>
3436
3437### `ERR_UNKNOWN_STDIN_TYPE`
3438
3439<!-- YAML
3440added: v8.0.0
3441removed: v11.7.0
3442-->
3443
3444An attempt was made to launch a Node.js process with an unknown `stdin` file
3445type. This error is usually an indication of a bug within Node.js itself,
3446although it is possible for user code to trigger it.
3447
3448<a id="ERR_UNKNOWN_STREAM_TYPE"></a>
3449
3450### `ERR_UNKNOWN_STREAM_TYPE`
3451
3452<!-- YAML
3453added: v8.0.0
3454removed: v11.7.0
3455-->
3456
3457An attempt was made to launch a Node.js process with an unknown `stdout` or
3458`stderr` file type. This error is usually an indication of a bug within Node.js
3459itself, although it is possible for user code to trigger it.
3460
3461<a id="ERR_V8BREAKITERATOR"></a>
3462
3463### `ERR_V8BREAKITERATOR`
3464
3465The V8 `BreakIterator` API was used but the full ICU data set is not installed.
3466
3467<a id="ERR_VALUE_OUT_OF_RANGE"></a>
3468
3469### `ERR_VALUE_OUT_OF_RANGE`
3470
3471<!-- YAML
3472added: v9.0.0
3473removed: v10.0.0
3474-->
3475
3476Used when a given value is out of the accepted range.
3477
3478<a id="ERR_VM_MODULE_NOT_LINKED"></a>
3479
3480### `ERR_VM_MODULE_NOT_LINKED`
3481
3482The module must be successfully linked before instantiation.
3483
3484<a id="ERR_VM_MODULE_LINKING_ERRORED"></a>
3485
3486### `ERR_VM_MODULE_LINKING_ERRORED`
3487
3488<!-- YAML
3489added: v10.0.0
3490removed: v18.1.0
3491-->
3492
3493The linker function returned a module for which linking has failed.
3494
3495<a id="ERR_WORKER_UNSUPPORTED_EXTENSION"></a>
3496
3497### `ERR_WORKER_UNSUPPORTED_EXTENSION`
3498
3499<!-- YAML
3500added: v11.0.0
3501removed: v16.9.0
3502-->
3503
3504The pathname used for the main script of a worker has an
3505unknown file extension.
3506
3507<a id="ERR_ZLIB_BINDING_CLOSED"></a>
3508
3509### `ERR_ZLIB_BINDING_CLOSED`
3510
3511<!-- YAML
3512added: v9.0.0
3513removed: v10.0.0
3514-->
3515
3516Used when an attempt is made to use a `zlib` object after it has already been
3517closed.
3518
3519<a id="ERR_CPU_USAGE"></a>
3520
3521### `ERR_CPU_USAGE`
3522
3523<!-- YAML
3524removed: v15.0.0
3525-->
3526
3527The native call from `process.cpuUsage` could not be processed.
3528
3529[ES Module]: esm.md
3530[ICU]: intl.md#internationalization-support
3531[JSON Web Key Elliptic Curve Registry]: https://www.iana.org/assignments/jose/jose.xhtml#web-key-elliptic-curve
3532[JSON Web Key Types Registry]: https://www.iana.org/assignments/jose/jose.xhtml#web-key-types
3533[Node.js error codes]: #nodejs-error-codes
3534[RFC 7230 Section 3]: https://tools.ietf.org/html/rfc7230#section-3
3535[Subresource Integrity specification]: https://www.w3.org/TR/SRI/#the-integrity-attribute
3536[V8's stack trace API]: https://v8.dev/docs/stack-trace-api
3537[WHATWG Supported Encodings]: util.md#whatwg-supported-encodings
3538[WHATWG URL API]: url.md#the-whatwg-url-api
3539[`"exports"`]: packages.md#exports
3540[`"imports"`]: packages.md#imports
3541[`'uncaughtException'`]: process.md#event-uncaughtexception
3542[`--disable-proto=throw`]: cli.md#--disable-protomode
3543[`--force-fips`]: cli.md#--force-fips
3544[`--no-addons`]: cli.md#--no-addons
3545[`--unhandled-rejections`]: cli.md#--unhandled-rejectionsmode
3546[`Class: assert.AssertionError`]: assert.md#class-assertassertionerror
3547[`ERR_INVALID_ARG_TYPE`]: #err_invalid_arg_type
3548[`ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`]: #err_missing_message_port_in_transfer_list
3549[`ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST`]: #err_missing_transferable_in_transfer_list
3550[`EventEmitter`]: events.md#class-eventemitter
3551[`MessagePort`]: worker_threads.md#class-messageport
3552[`Object.getPrototypeOf`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf
3553[`Object.setPrototypeOf`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf
3554[`REPL`]: repl.md
3555[`ServerResponse`]: http.md#class-httpserverresponse
3556[`Writable`]: stream.md#class-streamwritable
3557[`child_process`]: child_process.md
3558[`cipher.getAuthTag()`]: crypto.md#ciphergetauthtag
3559[`crypto.getDiffieHellman()`]: crypto.md#cryptogetdiffiehellmangroupname
3560[`crypto.scrypt()`]: crypto.md#cryptoscryptpassword-salt-keylen-options-callback
3561[`crypto.scryptSync()`]: crypto.md#cryptoscryptsyncpassword-salt-keylen-options
3562[`crypto.timingSafeEqual()`]: crypto.md#cryptotimingsafeequala-b
3563[`dgram.connect()`]: dgram.md#socketconnectport-address-callback
3564[`dgram.createSocket()`]: dgram.md#dgramcreatesocketoptions-callback
3565[`dgram.disconnect()`]: dgram.md#socketdisconnect
3566[`dgram.remoteAddress()`]: dgram.md#socketremoteaddress
3567[`errno`(3) man page]: https://man7.org/linux/man-pages/man3/errno.3.html
3568[`fs.Dir`]: fs.md#class-fsdir
3569[`fs.cp()`]: fs.md#fscpsrc-dest-options-callback
3570[`fs.readFileSync`]: fs.md#fsreadfilesyncpath-options
3571[`fs.readdir`]: fs.md#fsreaddirpath-options-callback
3572[`fs.symlink()`]: fs.md#fssymlinktarget-path-type-callback
3573[`fs.symlinkSync()`]: fs.md#fssymlinksynctarget-path-type
3574[`fs.unlink`]: fs.md#fsunlinkpath-callback
3575[`fs`]: fs.md
3576[`hash.digest()`]: crypto.md#hashdigestencoding
3577[`hash.update()`]: crypto.md#hashupdatedata-inputencoding
3578[`http`]: http.md
3579[`https`]: https.md
3580[`libuv Error handling`]: https://docs.libuv.org/en/v1.x/errors.html
3581[`net.Socket.write()`]: net.md#socketwritedata-encoding-callback
3582[`net`]: net.md
3583[`new URL(input)`]: url.md#new-urlinput-base
3584[`new URLSearchParams(iterable)`]: url.md#new-urlsearchparamsiterable
3585[`package.json`]: packages.md#nodejs-packagejson-field-definitions
3586[`postMessage()`]: worker_threads.md#portpostmessagevalue-transferlist
3587[`process.on('exit')`]: process.md#event-exit
3588[`process.send()`]: process.md#processsendmessage-sendhandle-options-callback
3589[`process.setUncaughtExceptionCaptureCallback()`]: process.md#processsetuncaughtexceptioncapturecallbackfn
3590[`readable._read()`]: stream.md#readable_readsize
3591[`require('node:crypto').setEngine()`]: crypto.md#cryptosetengineengine-flags
3592[`require()`]: modules.md#requireid
3593[`server.close()`]: net.md#serverclosecallback
3594[`server.listen()`]: net.md#serverlisten
3595[`sign.sign()`]: crypto.md#signsignprivatekey-outputencoding
3596[`stream.pipe()`]: stream.md#readablepipedestination-options
3597[`stream.push()`]: stream.md#readablepushchunk-encoding
3598[`stream.unshift()`]: stream.md#readableunshiftchunk-encoding
3599[`stream.write()`]: stream.md#writablewritechunk-encoding-callback
3600[`subprocess.kill()`]: child_process.md#subprocesskillsignal
3601[`subprocess.send()`]: child_process.md#subprocesssendmessage-sendhandle-options-callback
3602[`url.parse()`]: url.md#urlparseurlstring-parsequerystring-slashesdenotehost
3603[`util.getSystemErrorName(error.errno)`]: util.md#utilgetsystemerrornameerr
3604[`util.inspect()`]: util.md#utilinspectobject-options
3605[`util.parseArgs()`]: util.md#utilparseargsconfig
3606[`v8.startupSnapshot.setDeserializeMainFunction()`]: v8.md#v8startupsnapshotsetdeserializemainfunctioncallback-data
3607[`zlib`]: zlib.md
3608[crypto digest algorithm]: crypto.md#cryptogethashes
3609[debugger]: debugger.md
3610[define a custom subpath]: packages.md#subpath-exports
3611[domains]: domain.md
3612[event emitter-based]: events.md#class-eventemitter
3613[file descriptors]: https://en.wikipedia.org/wiki/File_descriptor
3614[policy]: permissions.md#policies
3615[self-reference a package using its name]: packages.md#self-referencing-a-package-using-its-name
3616[stream-based]: stream.md
3617[syscall]: https://man7.org/linux/man-pages/man2/syscalls.2.html
3618[try-catch]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch
3619[vm]: vm.md
3620