Interact with Netlify from the comfort of your CLI.
See the CLI command line reference to get started and the docs on using Netlify Dev to run your site locally.
Click to expand
Netlify CLI requires Node.js version 12 or above. To install, run the following command from any directory in your terminal:
npm install netlify-cli -g
When using the CLI in a CI environment we recommend installing it locally as a development dependency, instead of globally. To install locally, run the following command from the root directory of your project:
npm install --save-dev netlify-cli
Important: Running npm install netlify-cli -g
in CI means you're always installing the latest version of the CLI, including breaking changes. When you install locally and use a lock file you guarantee reproducible builds. To manage CLI updates we recommend using an automated tool like renovate or dependabot.
Alternatively you may also use Homebrew: brew install netlify-cli
(thanks @cglong).
Installing the CLI globally provides access to the netlify
command.
netlify [command]
# Run `help` for detailed information about CLI commands
netlify [command] help
To learn how to log in to Netlify and start deploying sites, visit the documentation on Netlify.
For a full command reference, see the list below, or visit cli.netlify.com.
(Beta) Manage Netlify Add-ons
Subcommand | description |
---|---|
addons:auth |
Login to add-on provider |
addons:config |
Configure add-on settings |
addons:create |
Add an add-on extension to your site |
addons:delete |
Remove an add-on extension to your site |
addons:list |
List currently installed add-ons for site |
Run any Netlify API method
(Beta) Build on your local machine
(Beta) Generate shell completion script
Subcommand | description |
---|---|
completion:install |
Generates completion script for your preferred shell |
Create a new deploy from the contents of a folder
Local dev server
Subcommand | description |
---|---|
dev:exec |
Exec command |
(Beta) Control environment variables for the current site
Subcommand | description |
---|---|
env:clone |
Clone environment variables from one site to another |
env:get |
Get resolved value of specified environment variable (includes netlify.toml) |
env:import |
Import and set environment variables from .env file |
env:list |
Lists resolved environment variables for site (includes netlify.toml) |
env:set |
Set value of environment variable |
env:unset |
Unset an environment variable which removes it from the UI |
Manage netlify functions
Subcommand | description |
---|---|
functions:build |
Build functions locally |
functions:create |
Create a new function locally |
functions:invoke |
Trigger a function while in netlify dev with simulated data, good for testing function calls including Netlify's Event Triggered Functions |
functions:list |
List functions that exist locally |
functions:serve |
(Beta) Serve functions locally |
(Beta) Control the Netlify Graph functions for the current site
Subcommand | description |
---|---|
graph:config:write |
Write a .graphqlrc.json file to the current directory for use with local tooling (e.g. the graphql extension for vscode) |
graph:edit |
Launch the browser to edit your local graph functions from Netlify |
graph:handler |
Generate a handler for a Graph operation given its name. See graph:operations for a list of operations. |
graph:library |
Generate the Graph function library |
graph:operations |
List all of the locally available operations |
graph:pull |
Pull down your local Netlify Graph schema, and process pending Graph edit events |
Configure continuous deployment for a new or existing site. To create a new site without continuous deployment, use netlify sites:create
Link a local repo or project folder to an existing site on Netlify
Handle Netlify Large Media operations
Subcommand | description |
---|---|
lm:info |
Show large media requirements information. |
lm:install |
Configures your computer to use Netlify Large Media |
lm:setup |
Configures your site to use Netlify Large Media |
Login to your Netlify account
Open settings for the site linked to the current folder
Subcommand | description |
---|---|
open:admin |
Opens current site admin UI in Netlify |
open:site |
Opens current site url in browser |
(Beta) Create and modify files in a project using pre-defined recipes
Subcommand | description |
---|---|
recipes:list |
(Beta) List the recipes available to create and modify files in a project |
Handle various site operations
Subcommand | description |
---|---|
sites:create |
Create an empty site (advanced) |
sites:create-template |
(Beta) Create a site from a starter template |
sites:delete |
Delete a site |
sites:list |
List all sites you have access to |
Print status information
Subcommand | description |
---|---|
status:hooks |
Print hook information of the linked site |
Switch your active Netlify account
Unlink a local folder from a Netlify site
Watch for site deploy to finish
See CONTRIBUTING.md for more info on how to make contributions to this project.
You'll need to follow these steps to run Netlify CLI locally:
uninstall any globally installed versions of netlify-cli
clone and install deps for https://github.com/netlify/cli
npm link from inside the cli folder
Now you're both ready to start testing and to contribute to the project!
MIT. See LICENSE for more details.