Execute n8n operations using the repo-owned launcher at `$HOME/.local/bin/n8n`.
All n8n interactions should use that explicit launcher path.
The canonical launcher for this repo is `$HOME/.local/bin/n8n`. On this host,
Homebrew also provides unrelated `n8n` and `n8n-cli` binaries, so do not rely
on bare command names.
The repo-owned n8n CLI follows this pattern:
$HOME/.local/bin/n8n <command-group> <action> [arguments] [options]
| Task |
Command |
| List workflows |
$HOME/.local/bin/n8n workflows list --table |
| Get workflow detail |
$HOME/.local/bin/n8n workflows get <workflow_id> |
| Trigger a workflow |
$HOME/.local/bin/n8n workflows execute <workflow_id> |
| Query recent executions |
$HOME/.local/bin/n8n executions list --filter created_at:gte:2026-04-11 --table |
| Get execution detail |
$HOME/.local/bin/n8n executions get <execution_id> |
| List credentials |
$HOME/.local/bin/n8n credentials list --table |
| Update credential data (JSON piped on stdin) |
$HOME/.local/bin/n8n credentials update <credential_id> --data-stdin --name "New Name" |
| List data-table rows |
$HOME/.local/bin/n8n data-tables rows <table_id> --table |
| Check server version |
$HOME/.local/bin/n8n server version |
| Check auth status |
$HOME/.local/bin/n8n auth status |
| </quick_start> |
|
**MANDATORY: Consult the adjacent `usage.json` at `/_repo/skills/-cli/usage.json` before executing ANY repo-owned `$HOME/.local/bin/n8n` command.**
This file contains complete command syntax, all arguments, all options, and usage instructions for every command. Never guess at command syntax.
This host already has upstream/vendor Homebrew binaries named both `n8n` and
`n8n-cli`. `command -v n8n` can resolve to `/opt/homebrew/bin/n8n`, where
`n8n auth status -t` fails with `Error: Command "auth" not found`, and
`command -v n8n-cli` can also resolve to Homebrew. The durable repo contract is:
**always invoke the repo-owned launcher as `$HOME/.local/bin/n8n`**.
Use command -v n8n / type -a n8n only to diagnose a collision; do not use
their output as permission to run bare n8n in automation. If you intentionally
repair PATH for an interactive shell, prepend $HOME/.local/bin and clear the
shell command cache (hash -r in Bash), but repo-owned docs, skills, and
automation should still prefer the explicit launcher path.
Use `usage.json` as the primary syntax source. Do not run unbounded n8n
group-level help probes or unbounded local Node source-inspection probes against
global n8n `node_modules` paths. `$HOME/.local/bin/n8n data-tables --help` is
known to hang for over 40 seconds and can exit `130` after Ctrl+C with no
output; a local Node
heredoc reading
`/opt/homebrew/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/DataTable/DataTable.node.js`
has shown the same failure shape. If live help or local source inspection is
required, select the leaf command or exact source path from `usage.json` or the
repo-owned n8n CLI source, capture stdout/stderr under the task workspace, and
run it with an explicit deadline. Treat a timeout as blocker evidence, not as
successful command discovery.
`$HOME/.local/bin/n8n workflows list` has no `--json` option. The command's
default stdout is JSON; `--table` switches to table output. For machine
parsing, run `$HOME/.local/bin/n8n workflows list --properties "id,name,active"`
without `--json`, save stdout to a file, verify the command status and non-empty
file, then parse. For human display, use `--table`. The supported options are
the ones in `usage.json`:
`--table`, `--limit`, `--filter`, `--properties`, `--active`, and `--profile`.
- **auth** -- login, logout, status, refresh, test credentials
- **auth** -- Authentication commands and nested `auth profiles` management
- **cache** -- manage the local response cache
- **workflows** -- list, get, create, update, delete, activate, deactivate, export, execute, assign-error-handler, node
- **nodes** -- test, create, deploy, remove, install, list, get community node packages
- **credentials** -- list, get, create, update, delete, rename, schema for server credentials
- **data-tables** -- CRUD on n8n Data Tables (list, get, create, delete, columns, rows, insert, update-rows, delete-rows)
- **executions** -- query execution history (list, get, events via SSH)
- **server** -- upgrade, version, restart, logs, config
All list commands support `--filter/-f` using `field:op:value` syntax.
Operators: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`, `like`, `ilike`, `null`, `notnull`, `contains`, `startswith`, `endswith`.
Examples: `--filter name:contains:sync`, `--filter active:eq:true`, `--filter created_at:gte:2026-04-11`.
`$HOME/.local/bin/n8n workflows create` emits the created workflow JSON on
stdout. When a later step needs the workflow ID, save stdout to a file, verify
the create command exited `0`, then parse `.id` from that JSON with `jq -r '.id'`
or another JSON parser. Do not grep for labels such as `id:`; JSON uses
`"id":`, and an unguarded no-match can make a successful create look failed.
</essential_principles>
**`usage.json`** -- Complete command tree with arguments, options, defaults, and usage instructions for every command.
</reference_index>
- Command executes without error
- Output is displayed in requested format
- Correct command and flags used (verified against usage.json)
</success_criteria>