According to the example http://tj.github.io/commander.js/#Command.prototype.option, when defining an option that does not have a required or optional value, it defaults to undefined when it should default to false. However, if it's long hand value contains -no-, it properly defaults to true.