Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including sudo with all npm packages installed. Try it out:

var sudo = require("sudo")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

sudo v1.0.3

Wrap sudo with optional password cache


A child_process.spawn but with sudo in between. The sudo password dialog is abstracted away so that the calling Node script can interact with the program that is run under sudo without worrying about it.


sudo(args, options)
  • args: An array of arguments to sudo. Can be both options (such as -v or -E) and the program to run. Example: ['ls'].

  • options: An optional object containing options. Recognized options are:

    • cachePassword: Boolean; whether to remember the password between invocations or not.

    • prompt: String; what to display to the user when the password is needed.

    • spawnOptions: Object; passed on directly to spawn. stdio or customFds will be overwritten.


var sudo = require('sudo');
var options = {
    cachePassword: true,
    prompt: 'Password, yo? ',
    spawnOptions: { /* other options for spawn */ }
var child = sudo([ 'ls', '-l', '/tmp' ], options);
child.stdout.on('data', function (data) {



RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free