Netlify CLI command reference
To get a list of commands, run
netlify helpTo get a list of available sub-commands, arguments & flags run
netlify [command] helpRunning the CLI from an AI agent
Section titled “Running the CLI from an AI agent”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.
Commands
Section titled “Commands”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
Agent detection
Section titled “Agent detection”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:
NETLIFY_AGENT=claude-code@2.1.0 netlify deployRecognized 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.
Login source
Section titled “Login source”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.
Telemetry
Section titled “Telemetry”When telemetry is enabled, each CLI telemetry event includes the detected agent:
agent: the recognized name, orotheragent_source: the name of the environment variable that identified the agentagent_version: the version, when the agent provides oneagent_markers: every detected agent name, when markers from more than one agent are presentagent_other_value: the sanitized value, whenagentisother
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.