Skip to content

Netlify CLI command reference

To get a list of commands, run

netlify help

To get a list of available sub-commands, arguments & flags run

netlify [command] help

Set NETLIFY_AGENT to the name of the AI agent or tool running the CLI, such as claude-code or codex, optionally with a version (my-agent@1.2.0). Netlify uses it to attribute CLI usage and signups to that agent, and it takes precedence over the markers agents set on their own, such as AI_AGENT.

Use only a product name and version. Never put a token, session ID, or other sensitive value in it: the value is sent to Netlify and can appear in the login URL the CLI prints.

Manage Netlify AI agent tasks

Subcommand description
agents:create Create and run a new agent task on your site
agents:list List agent tasks for the current site
agents:show Show details of a specific agent task
agents:stop Stop a running agent task

Run any Netlify API method

Manage objects in Netlify Blobs

Subcommand description
blobs:delete Deletes an object with a given key, if it exists, from a Netlify Blobs store
blobs:get Reads an object with a given key from a Netlify Blobs store and, if it exists, prints the content to the terminal or saves it to a file
blobs:list Lists objects in a Netlify Blobs store
blobs:set Writes to a Netlify Blobs store an object with the data provided in the command or the contents of a file defined by the ‘input’ parameter

Build on your local machine

Claim an anonymously deployed site and link it to your account

Clone a repository and link it to a Netlify project

Generate shell completion script

Subcommand description
completion:install Generates completion script for your preferred shell

Create a new Netlify project using an AI agent

Provision a production ready Postgres database with a single command

Subcommand description
database status Check the status of the database, including applied and pending migrations
database init Interactive setup: install the package, scaffold a starter migration, and verify the database
database connect Connect to the database
database reset Reset the local development database, removing all data and tables
database migrations Manage database migrations

Deploy your project to Netlify

Local dev server

Subcommand description
dev:exec Runs a command within the netlify dev environment. For example, with environment variables from any installed add-ons

Control environment variables for the current project

Subcommand description
env:clone Clone environment variables from one project 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 project (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 Serve functions locally

Configure continuous deployment for a new or existing project. To create a new project without continuous deployment, use netlify sites:create

Link a local repo or project folder to an existing project on Netlify

Login to your Netlify account

View logs from your project

Open settings for the project linked to the current folder

Subcommand description
open:admin Opens current project admin UI in Netlify
open:site Opens current project url in browser

Create and modify files in a project using pre-defined recipes

Subcommand description
recipes:list List the recipes available to create and modify files in a project

Build the project for production and serve locally. This does not watch the code for changes, so if you need to rebuild your project then you must exit and run serve again.

Handle various project operations

Subcommand description
sites:create Create an empty project (advanced)
sites:delete Delete a project
sites:list List all projects you have access to
sites:search Search for projects by name

Print status information

Subcommand description
status:hooks Print hook information of the linked project

Switch your active Netlify account

Handle various team operations

Subcommand description
teams:list List all teams you have access to

Unlink a local folder from a Netlify project

Watch for project deploy to finish

The CLI reads the NETLIFY_AGENT environment variable to learn which AI agent or tool is running it. Agents, MCP servers, and wrappers that invoke the CLI should set it to their name, optionally followed by @ and a version:

Terminal window
NETLIFY_AGENT=claude-code@2.1.0 netlify deploy

Recognized values are claude, codex, copilot, gemini, cursor, opencode, kiro, cline, amp, warp, claudeai, and chatgpt, plus the aliases claude-code, claude-ai, github-copilot, github-copilot-cli, github-copilot-vscode-agent, cursor-cli, gemini-cli, kiro-cli, and warp-oz. Matching ignores case and treats _ as -. Any other value is recorded as other. Characters other than letters, digits, _, ., and - are removed, and values are truncated to 64 characters.

The CLI also recognizes markers that agent products set on their own, such as AI_AGENT, CODEX_CI, and GEMINI_CLI. NETLIFY_AGENT takes precedence over all of them, even when its value isn’t recognized.

A program that runs netlify login on a user’s behalf can set NETLIFY_LOGIN_SOURCE so a sign-up is credited to it rather than to the CLI. The only recognized value is mcp, which the Netlify MCP server sets. Any other value is ignored and the login URL keeps utm_source=cli.

When telemetry is enabled, each CLI telemetry event includes the detected agent:

  • agent: the recognized name, or other
  • agent_source: the name of the environment variable that identified the agent
  • agent_version: the version, when the agent provides one
  • agent_markers: every detected agent name, when markers from more than one agent are present
  • agent_other_value: the sanitized value, when agent is other

No agent fields are sent when no agent is detected. Telemetry isn’t sent in CI, or at all after you run netlify --telemetry-disable.