n/no-callback-literal
April 30, 2026 ยท View on GitHub
๐ Enforce Node.js-style error-first callback pattern is followed.
When invoking a callback function which uses the Node.js error-first callback pattern, all of your errors should either use the Error class or a subclass of it. It is also acceptable to use undefined or null if there is no error.
๐ Rule Details
When a function is named cb or callback, then it must be invoked with a first argument that is undefined, null, an Error class, or a subclass of Error.
Examples of ๐ incorrect code for this rule:
/*eslint n/no-callback-literal: "error" */
cb('this is an error string');
cb({ a: 1 });
callback(0);
Examples of ๐ correct code for this rule:
/*eslint n/no-callback-literal: "error" */
cb(undefined);
cb(null, 5);
callback(new Error('some error'));
callback(someVariable);