Now's Command Line Interface

The now CLI is the main interface to the now cloud.
It's available on Mac, Linux and Windows either via npm or as pre-built binaries. The recommended installation mechanism is by installing Now Desktop which also ensures it's always up-to-date.
While the default behavior of now is to deploy, it also has a variety of sub-commands grouped by different concerns.


Here's the full list of all command available and what you can do with them:


The commands you should remember when working with now daily:
now deploy [path]When you invoke now, the files within the current directory will be uploaded to now and a new deployment will be created. After that, you'll instantly receive its URL so that you can share it with other people around the globe.
now ls|list [app]Show a list of all deployments. If [app] is defined, it will only list the deployments under that namespace.
now rm|remove [id]Remove a deployment from our platform. The [id] parameter can either be the URL of your deployment (e.g. or the hostname (e.g.
now ln|alias [id] [url]Let's you configure an alias for an existing deployment. You can read more about how to take the maximum of functionality out of this sub command here.
now domains [name]Allows you to manage your domain names directly from the command line (before using them as aliases with now alias). Read more about it here.
now certs [cmd]By default, now will automatically provision certificates for your deployments. Using this sub command, you can see when they're expiring and upload your own ones (read more).
now secrets [name]Read more
now dns [name]Read more
now openRunning this sub command will open the latest deployment of the project within the current directory in your default browser (aliases won't be respected).


Help you to manage your account straight from your terminal:
now billing|ccEasily add or remove credits cards from your account and adjust billing methods.
now upgrade|downgrade [plan]Switch your plan from within the command line interface. Even after the command is run, we don't require you to use a web interface. The whole process happens directly in your terminal.
To show the list of sub commands and options in your terminal, run this command:
now help

Selecting Files and Directories to Be Uploaded

now uses the metafiles inside your project to determine which files and directories should be uploaded to our platform and which ones should be ignored:
  • If .gitignore exists, we don't upload the contents that are defined in it
  • If .npmignore exists, we don't upload the contents that are defined in it and ignore the existence of .gitignore
But it will get a little tricky if you're using the files property inside package.json: In that case, we follow npm's behaviour. This means that if files exists (which as per definition defines which files should be uploaded), .npmignore will take precedence and have the final word on which items will be uploaded to now.
This means that if you want to specify a list of files that should never be ignored when it comes to now, you should either use the now.files (not files) property inside package.json or the files property inside now.json:
"files": [
You can learn more about how to use this property here.