n8n CLI
n8n CLI is a lightweight command-line client that communicates with a running n8n instance through the n8n API. It can run from any machine with network access and authenticates using an API key.
Use the API CLI to:
List and inspect workflows
Create a workflow from JSON
Check recent executions
Create a credential
Manage projects
All operations respect the permissions of the user and the scope of the API key.
n8n CLI versus server CLI
If you need to manage your n8n instance (backups, license management, emergency resets), see the Server CLI, a built-in tool that runs on the same machine as n8n.
Runs from
Any machine with network access
Same machine as n8n
Authentication
API key
Direct database access
Requires n8n running
Yes
No (not required for most operations)
Best for
Developers, integrations, AI agents
Instance operators, backups, emergencies
Permissions
Respects user roles and API key scopes
Bypasses access control
Install n8n-cli
Connect to your instance
The configuration is saved to
~/.n8n-cli/config.jsonwith restricted file permissions (0600).Get your API key from n8n > Settings > n8n API
Alternatively, skip the configuration file and use environment variables:
Inline flags
Resolution order
Command-line flags (
--url,--api-key)Environment variables (
N8N_URL,N8N_API_KEY)Config file (
~/.n8n-cli/config.json)
Commands
Every command supports --help for detailed usage.
workflow
list, get, create, update, delete, activate, deactivate, tags, transfer
execution
list, get, retry, stop, delete
credential
list, get, schema, create, delete, transfer
project
list, get, create, update, delete, members, add-member, remove-member
tag
list, create, update, delete
variable
list, create, update, delete
data-table
list, get, create, delete, rows, add-rows, update-rows, upsert-rows, delete-rows
user
list, get
config
set-url, set-api-key, show
source-control
pull
package (preview)
export, import
skill
install
audit
(top-level)
login / logout
(top-level)
Output formats
All commands support three output formats via --format:
Table
--format=table (default)
You want human-readable terminal output
JSON
--format=json
Piping to jq, programmatic use
ID-only
--format=id-only
Piping to xargs, scripting
Examples
Human-readable table
JSON for scripts
Pipe IDs into another command
Use as skill with Claude Code
Install the skill so Claude always knows how to use n8n-cli:
Then in Claude Code, type /n8n-cli to load it. Claude can now create, update, and manage workflows on your behalf without requiring an MCP.
Examples
List and inspect workflows
Create a workflow from JSON
Check recent executions
Create a credential
Manage projects
Export and import packages
See n8n packages for what makes up a package, and Import a package for every available flag.
Related resources
Last updated
Was this helpful?