Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 05c809bfd6
Fetching contributors…

Cannot retrieve contributors at this time

43 lines (29 sloc) 1.18 kb

For reading user input from stdin.


var read = require("read")
read(options, callback)

The callback gets called with either the user input, or the default specified, or an error, in the traditional callback(error, result) node style.


Every option is optional.

  • prompt What to write to stdout before reading input.
  • silent Don't echo the output as the user types it.
  • num Max number of chars to read from terminal.
  • timeout Number of ms to wait for user input before giving up.
  • default The default value if the user enters nothing.

If silent is true, or num is set, and the input is a TTY, then read will set raw mode, and read character by character.

At this time, backspace and arrow keys are not supported very well. It's probably not too hard to add support for this, perhaps using node's built-in readline module.


Patches welcome.


In node 0.6.0 through 0.6.5, you must explicitly call process.stdin.destroy() or process.exit() when you know that your program is done reading, or else it will keep the event loop running forever.


Jump to Line
Something went wrong with that request. Please try again.