/n8n-cli
Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance. Use when the user asks to interact with n8n, automate workflows, manage credentials, or operate their instance from the command line.
$ npx -y skills add n8n-io/n8n --skill n8n-cli --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/n8n-cli
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance. Use when the user asks to interact with n8n, automate workflows, manage credentials, or operate their instance from the command line.
SKILL.md
n8n-cli.SKILL.mdname: n8n-cli
description: Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance. Use when the user asks to interact with n8n, automate workflows, manage credentials, or operate their instance from the command line.
allowed-tools: Bash(n8n-cli:*), Bash(echo:*), Bash(cat:*), Read, Write
n8n CLI
The `n8n-cli` command-line tool manages an n8n instance via its REST API. It auto-detects piped output and switches to JSON, making it composable for scripts and LLM tool use.
Setup
# Interactive login (saves to ~/.n8n-cli/config.json)
n8n-cli login
# Or configure directly
n8n-cli config set-url https://my-instance.n8n.cloud
n8n-cli config set-api-key n8n_api_...
# Or use environment variables (no config file needed)
export N8N_URL=https://my-instance.n8n.cloud
export N8N_API_KEY=n8n_api_...
Global Flags
Every command supports these flags:
| Flag | Short | Description | |------|-------|-------------| | `--url` | `-u` | Instance URL (overrides config/env) | | `--apiKey` | `-k` | API key (overrides config/env) | | `--format` | `-f` | Output format: `table`, `json`, `id-only` | | `--json` | | Shorthand for `--format=json` | | `--jq` | | jq-style filter (implies `--json`), e.g. `'.[0].id'`, `'.[].name'` | | `--quiet` | `-q` | Suppress output | | `--no-header` | | Hide table headers (for `awk`/`cut` parsing) | | `--debug` | | Print HTTP details to stderr |
**Auto-JSON:** When stdout is piped (not a TTY), output defaults to JSON automatically.
Workflows
# List all workflows
n8n-cli workflow list
# Filter workflows
n8n-cli workflow list --active
n8n-cli workflow list --tag=production
n8n-cli workflow list --name="My Workflow"
n8n-cli workflow list --limit=5
# Get a single workflow (full JSON with nodes and connections)
n8n-cli workflow get <id>
# Extract just node names from a workflow
n8n-cli workflow get <id> --jq '.nodes[].name'
# Create a workflow from JSON
n8n-cli workflow create --file=workflow.json
cat workflow.json | n8n-cli workflow create --stdin
# Update a workflow
n8n-cli workflow update <id> --file=updated.json
cat updated.json | n8n-cli workflow update <id> --stdin
# Activate / deactivate
n8n-cli workflow activate <id>
n8n-cli workflow deactivate <id>
# Delete a workflow
n8n-cli workflow delete <id>
# Transfer to another project
n8n-cli workflow transfer <id> --project=<projectId>
# List tags on a workflow
n8n-cli workflow tags <id>
Executions
# List recent executions
n8n-cli execution list
n8n-cli execution list --workflow=<id> --status=error --limit=10
# status options: canceled, error, running, success, waiting
# Get execution details
n8n-cli execution get <id>
n8n-cli execution get <id> --include-data # includes full node I/O
# Retry a failed execution
n8n-cli execution retry <id>
# Stop a running execution
n8n-cli execution stop <id>
# Delete an execution
n8n-cli execution delete <id>
Credentials
# List credentials
n8n-cli credential list
# Get credential metadata (not secrets)
n8n-cli credential get <id>
# Get the schema for a credential type (shows required fields)
n8n-cli credential schema notionApi
n8n-cli credential schema slackOAuth2Api
# Create a credential
n8n-cli credential create --type=notionApi --name='My Notion' --data='{"apiKey":"..."}'
n8n-cli credential create --type=notionApi --name='My Notion' --file=cred.json
cat cred.json | n8n-cli credential create --type=notionApi --name='My Notion' --stdin
# Delete / transfer
n8n-cli credential delete <id>
n8n-cli credential transfer <id> --project=<projectId>**Tip:** Use `credential schema <type>` to discover required fields before creating.
Projects
n8n-cli project list
n8n-cli project get <id>
n8n-cli project create --name="My Project"
n8n-cli project update <id> --name="New Name"
n8n-cli project delete <id>
# Team management
n8n-cli project members <id>
n8n-cli project add-member <id> --user=<userId> --role=<role>
n8n-cli project remove-member <id> --user=<userId>
Tags
n8n-cli tag list
n8n-cli tag create --name=production
n8n-cli tag update <id> --name=staging
n8n-cli tag delete <id>
Variables
n8n-cli variable list
n8n-cli variable create --key=API_ENDPOINT --value=https://api.example.com
n8n-cli variable update <id> --key=API_ENDPOINT --value=https://new-api.example.com
n8n-cli variable delete <id>
Data Tables
# CRUD
n8n-cli data-table list
n8n-cli data-table get <id>
n8n-cli data-table create --name=Inventory --columns='[{"name":"item","type":"string"},{"name":"qty","type":"number"}]'
n8n-cli data-table delete <id>
# Row operations
n8n-cli data-table rows <id>
n8n-cli data-table add-rows <id> --file=rows.json
n8n-cli data-table update-rows <id> --file=rows.json
n8n-cli data-table upsert-rows <id> --file=rows.json
n8n-cli data-table delete-rows <id> --ids=row1,row2,row3
# All row commands support --stdin
cat rows.json | n8n-cli data-table add-rows <id> --stdinUsers
n8n-cli user list
n8n-cli user get <id>
Other
# Security audit
n8n-cli audit
n8n-cli audit --categories=credentials,nodes
# Source control
n8n-cli source-control pull
# View config
n8n-cli config show
Composability Patterns
The CLI is designed to be piped and composed:
# Get all workflow IDs
n8n-cli workflow list --jq '.[].id'
# Get the name of the first workflow
n8n-cli workflow list --jq '.[0].name'
# Export a workflow to a file
n8n-cli workflow get 1234 --json > workflow-backup.json
# Find failing executions for a workflow
n8n-cli execution list --workflow=1234 --status=error --json
# Pipe workflow JSON for modification
n8n-cli workflow get 1234 --json | jq '.name = "Updated Name"' | n8n-cli workflow update 1234 --stdin
# Table output without headers for shell parsing
n8n-cli workflow list --no-header | awk '{print $1}'
# Debug API calls
n8n-cli workflow list --debug 2>debug.logWorkfl
Read more
name: n8n-cli description: Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance. Use when the user asks to interact with n8n, automate workflows, manage credentials, or operate their instance from the command line. allowed-tools: Bash(n8n-cli:*), Bash(echo:*), Bash(cat:*), Read, Write
n8n CLI
The `n8n-cli` command-line tool manages an n8n instance via its REST API. It auto-detects piped output and switches to JSON, making it composable for scripts and LLM tool use.
Setup
# Interactive login (saves to ~/.n8n-cli/config.json) n8n-cli login # Or configure directly n8n-cli config set-url https://my-instance.n8n.cloud n8n-cli config set-api-key n8n_api_... # Or use environment variables (no config file needed) export N8N_URL=https://my-instance.n8n.cloud export N8N_API_KEY=n8n_api_...
Global Flags
Every command supports these flags:
| Flag | Short | Description | |------|-------|-------------| | `--url` | `-u` | Instance URL (overrides config/env) | | `--apiKey` | `-k` | API key (overrides config/env) | | `--format` | `-f` | Output format: `table`, `json`, `id-only` | | `--json` | | Shorthand for `--format=json` | | `--jq` | | jq-style filter (implies `--json`), e.g. `'.[0].id'`, `'.[].name'` | | `--quiet` | `-q` | Suppress output | | `--no-header` | | Hide table headers (for `awk`/`cut` parsing) | | `--debug` | | Print HTTP details to stderr |
**Auto-JSON:** When stdout is piped (not a TTY), output defaults to JSON automatically.
Workflows
# List all workflows n8n-cli workflow list # Filter workflows n8n-cli workflow list --active n8n-cli workflow list --tag=production n8n-cli workflow list --name="My Workflow" n8n-cli workflow list --limit=5 # Get a single workflow (full JSON with nodes and connections) n8n-cli workflow get <id> # Extract just node names from a workflow n8n-cli workflow get <id> --jq '.nodes[].name' # Create a workflow from JSON n8n-cli workflow create --file=workflow.json cat workflow.json | n8n-cli workflow create --stdin # Update a workflow n8n-cli workflow update <id> --file=updated.json cat updated.json | n8n-cli workflow update <id> --stdin # Activate / deactivate n8n-cli workflow activate <id> n8n-cli workflow deactivate <id> # Delete a workflow n8n-cli workflow delete <id> # Transfer to another project n8n-cli workflow transfer <id> --project=<projectId> # List tags on a workflow n8n-cli workflow tags <id>
Executions
# List recent executions n8n-cli execution list n8n-cli execution list --workflow=<id> --status=error --limit=10 # status options: canceled, error, running, success, waiting # Get execution details n8n-cli execution get <id> n8n-cli execution get <id> --include-data # includes full node I/O # Retry a failed execution n8n-cli execution retry <id> # Stop a running execution n8n-cli execution stop <id> # Delete an execution n8n-cli execution delete <id>
Credentials
# List credentials
n8n-cli credential list
# Get credential metadata (not secrets)
n8n-cli credential get <id>
# Get the schema for a credential type (shows required fields)
n8n-cli credential schema notionApi
n8n-cli credential schema slackOAuth2Api
# Create a credential
n8n-cli credential create --type=notionApi --name='My Notion' --data='{"apiKey":"..."}'
n8n-cli credential create --type=notionApi --name='My Notion' --file=cred.json
cat cred.json | n8n-cli credential create --type=notionApi --name='My Notion' --stdin
# Delete / transfer
n8n-cli credential delete <id>
n8n-cli credential transfer <id> --project=<projectId>**Tip:** Use `credential schema <type>` to discover required fields before creating.
Projects
n8n-cli project list n8n-cli project get <id> n8n-cli project create --name="My Project" n8n-cli project update <id> --name="New Name" n8n-cli project delete <id> # Team management n8n-cli project members <id> n8n-cli project add-member <id> --user=<userId> --role=<role> n8n-cli project remove-member <id> --user=<userId>
Tags
n8n-cli tag list n8n-cli tag create --name=production n8n-cli tag update <id> --name=staging n8n-cli tag delete <id>
Variables
n8n-cli variable list n8n-cli variable create --key=API_ENDPOINT --value=https://api.example.com n8n-cli variable update <id> --key=API_ENDPOINT --value=https://new-api.example.com n8n-cli variable delete <id>
Data Tables
# CRUD
n8n-cli data-table list
n8n-cli data-table get <id>
n8n-cli data-table create --name=Inventory --columns='[{"name":"item","type":"string"},{"name":"qty","type":"number"}]'
n8n-cli data-table delete <id>
# Row operations
n8n-cli data-table rows <id>
n8n-cli data-table add-rows <id> --file=rows.json
n8n-cli data-table update-rows <id> --file=rows.json
n8n-cli data-table upsert-rows <id> --file=rows.json
n8n-cli data-table delete-rows <id> --ids=row1,row2,row3
# All row commands support --stdin
cat rows.json | n8n-cli data-table add-rows <id> --stdinUsers
n8n-cli user list n8n-cli user get <id>
Other
# Security audit n8n-cli audit n8n-cli audit --categories=credentials,nodes # Source control n8n-cli source-control pull # View config n8n-cli config show
Composability Patterns
The CLI is designed to be piped and composed:
# Get all workflow IDs
n8n-cli workflow list --jq '.[].id'
# Get the name of the first workflow
n8n-cli workflow list --jq '.[0].name'
# Export a workflow to a file
n8n-cli workflow get 1234 --json > workflow-backup.json
# Find failing executions for a workflow
n8n-cli execution list --workflow=1234 --status=error --json
# Pipe workflow JSON for modification
n8n-cli workflow get 1234 --json | jq '.name = "Updated Name"' | n8n-cli workflow update 1234 --stdin
# Table output without headers for shell parsing
n8n-cli workflow list --no-header | awk '{print $1}'
# Debug API calls
n8n-cli workflow list --debug 2>debug.logWorkfl
Fair-code platform to build and deploy AI agents and workflows. Combine a visual canvas with custom code, run it self-hosted or in the cloud, and connect to 1500+ integrations. AI automation you can trust with real work, from prototype to production.
Repo: n8n-io/n8n
Other skills on n8n.
- /setup-mcps
Configure MCP servers for n8n development. Use when the user says /setup-mcps or asks to set up MCP servers for n8n.
Open skill - /agent-builder
Load before calling build-agent for a new or existing n8n Agent. Governs prerequisite creation, faithful handoff of the user's request, agent targeting across turns, builder questions, testing, and publishing. Use directly for routine follow-ups when the conversation already
Open skill - /config-evals
Builds and maintains configuration-based evaluations on a workflow with the eval-config tool. Use when the user asks to set up, add, view, change, or remove an evaluation, score, grade, or judge a workflow's output, or measure answer quality against a test dataset. This is the
Open skill - /credential-recipe-research
Lookup procedure for Simplified Custom Auth recipe fields — sources the auth template, the key-issuing docsUrl and an auth-rejecting testUrl from the provider's real documentation instead of memory. Load before composing credentialHints for a service without a dedicated
Open skill - /credential-setup-with-computer-use
Guides n8n credential setup through Computer Use browser tools. Use when a user needs OAuth apps, API keys, client IDs, client secrets, or other credential values from an external service console.
Open skill - /data-table-manager
Load before calling data-tables or parse-file. Use for natural standalone requests like "what data tables do I have?", "show/list my tables", or "what columns are in this table?", and whenever the user asks to list, show, create, inspect, import, seed, query, update, clean up,
Open skill

