Skip to main content

n8nc

codecov

CLI for n8n workflow automation. Sync workflows with Git, author them locally, and manage remote instances from the terminal.

Quick start

# Install (pick one)
cargo install n8nc              # From source
pip install n8nc                # Via pip
uvx n8nc --help                 # Run without installing

# Set up a repo
n8nc init --instance prod --url https://your-instance.app.n8n.cloud
n8nc auth add prod --token <api_key>

# Pull and track workflows
n8nc pull --all --instance prod
n8nc status

Installation

From crates.io

cargo install n8nc

From PyPI

pip install n8nc
# or run without installing:
uvx n8nc ls --instance prod

From GitHub releases

Pre-built binaries for Linux (x64, arm64), macOS (x64, arm64), and Windows (x64) on the releases page.

What it does

n8nc is three things:

  • Git sync for n8n workflows you want to track locally
  • Local authoring for draft workflows and structured node edits
  • Development CLI for listing, pulling, pushing, triggering, and inspecting executions

Every command supports --json for agent and script integration.

Commands

n8nc init                          Set up a workflow repo
n8nc doctor                        Check repo, auth, and API health

n8nc auth add|test|list|remove     Manage API tokens
n8nc auth session add|test|remove  Manage browser-session auth

n8nc ls                            List remote workflows
n8nc get <id-or-name>              Fetch and print a workflow
n8nc pull <id-or-name>             Pull a workflow into the repo
n8nc pull --all [--active]         Pull all workflows
n8nc push <file>                   Push a tracked workflow back
n8nc push --all                    Push all modified tracked workflows
n8nc activate <id-or-name>         Activate a workflow
n8nc deactivate <id-or-name>       Deactivate a workflow

n8nc runs ls                       List recent executions
n8nc runs get <id> [--details]     Inspect one execution
n8nc runs watch                    Watch executions live

n8nc workflow new <name>           Create a local draft
n8nc workflow create <file>        Publish a draft to n8n
n8nc workflow execute <id-or-name> Execute via configured backend
n8nc workflow show <file>          Inspect a local workflow
n8nc workflow rm <target>          Remove a workflow

n8nc node ls|add|set|rename|rm     Edit nodes in local workflows
n8nc conn add|rm                   Edit connections
n8nc expr set                      Set expressions on nodes
n8nc credential ls|schema|set      Discover and assign credentials

n8nc status [--refresh]            Show local sync state
n8nc diff <file> [--refresh]       Show local changes
n8nc trigger <url>                 Call a webhook URL
n8nc fmt [--check]                 Format workflow files
n8nc validate                      Validate workflow files
n8nc completions <shell>           Generate shell completions

Repo model

n8nc init creates:

.
├── n8n.toml           # Instance config
├── workflows/         # Tracked and draft workflow files
└── .n8n/cache/        # Base snapshots for local diff

Tracked workflows are stored as canonical JSON with a metadata sidecar:

workflows/<slug>--<id>.workflow.json
workflows/<slug>--<id>.meta.json

The sidecar binds each file to the instance it came from and records a hash used for safe push (lease check).

Auth

Tokens are resolved in order:

  1. N8NC_TOKEN_<ALIAS> env var
  2. OS keychain entry from n8nc auth add

Optional browser-session auth (for credential inventory fallback):

  1. N8NC_SESSION_COOKIE_<ALIAS> + N8NC_BROWSER_ID_<ALIAS> env vars
  2. OS keychain entries from n8nc auth session add

Workflow execution

trigger calls webhook URLs directly. For non-webhook workflows, configure an external backend in n8n.toml:

[instances.prod.execute]
backend = "command"
program = "uvx"
args = ["your-runner", "execute_workflow", "{workflow_id}", "{instance_alias}"]
stdin_json = true

Then run:

n8nc workflow execute "Nightly Digest" --instance prod --input '{"dryRun":true}'

Design

  • Same-instance first -- tracked files are bound to the instance they were pulled from
  • Agent-safe -- every command supports --json with structured envelopes
  • Deterministic -- workflows are canonicalized before storage and hashing
  • Safe push -- refuses to overwrite remote changes since the last pull
  • Sensitive-data aware -- scans for inline secrets on pull, push, and validate
  • Honest execution -- trigger is for webhooks; workflow execute delegates to a configured backend

Spec

Implementation notes and roadmap live in docs/cli-spec.md.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

n8nc-0.5.3.tar.gz (205.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

n8nc-0.5.3-py3-none-win_amd64.whl (3.7 MB view details)

Uploaded Python 3Windows x86-64

n8nc-0.5.3-py3-none-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

n8nc-0.5.3-py3-none-manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

n8nc-0.5.3-py3-none-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

n8nc-0.5.3-py3-none-macosx_10_12_x86_64.whl (3.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file n8nc-0.5.3.tar.gz.

File metadata

  • Download URL: n8nc-0.5.3.tar.gz
  • Upload date:
  • Size: 205.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.5.3.tar.gz
Algorithm Hash digest
SHA256 2473a8df812926d17a4bfef11e6ca3945b9e120071dd63402a30b54d636f2b07
MD5 a9c032d3bfaa29e2a7074c9fd4680a95
BLAKE2b-256 692f4ea609575ef71a53ac8df5a90387b4fbf680fc164e25733598f3412fd755

See more details on using hashes here.

File details

Details for the file n8nc-0.5.3-py3-none-win_amd64.whl.

File metadata

  • Download URL: n8nc-0.5.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.5.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9a7e9bffaa5e28b76a9c9c25f66fcab51fcf78a9a9bfdeb6d54774def4718a3e
MD5 8478a308f43954aa6a49e9cadd806ce5
BLAKE2b-256 7d728fea21ff3c5b81415bf4d512919a2d285a1d5525ca6e0eacd7cbf2c6fad1

See more details on using hashes here.

File details

Details for the file n8nc-0.5.3-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: n8nc-0.5.3-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.5.3-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f272f7f11926c620804a2dadf87832c672ff7de0b4eb7512ece0af19a31286e
MD5 2dcf262b3bc87aa62cf0a3c3fd7a7d4a
BLAKE2b-256 8e04ef2fd35377683e4a73986259e174b2eccf9937f5ccb09ee63df334a884ec

See more details on using hashes here.

File details

Details for the file n8nc-0.5.3-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for n8nc-0.5.3-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9acd77643f861c6ff7abff89a0802caa5a25059bef9f2d0d2ee28caf4a4515de
MD5 dab1b5267293a78197315f2fa25b7bf3
BLAKE2b-256 c9a98a970855b8114e85a674ef4d2157fdee8a896cda691a12269138d0b107a9

See more details on using hashes here.

File details

Details for the file n8nc-0.5.3-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: n8nc-0.5.3-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.5.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0086acd2668d2b07f7d5d5e4278ac9b9b03668d1a730909f9b389b3e55a95e1b
MD5 23155e23655e965123437a884cd2f953
BLAKE2b-256 d4b3d7878317738ef04ad4457e27ead1381056e91e913d590e1f98ecbbf3afc8

See more details on using hashes here.

File details

Details for the file n8nc-0.5.3-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for n8nc-0.5.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cee250a619d6b83df9168fcda80bd440000162eb34a4f3a8d90fa5be77eb908e
MD5 370e2ffc92ab6d44208cae32f50fb7b0
BLAKE2b-256 a06ff412d17dedabdb0195306fc6f96b243cf7990c77a539dcc1377ab19f4781

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.3 This release

6 files

0.5.2

6 files

0.5.1

6 files

0.5.0

6 files

0.4.7

6 files

0.4.6

6 files

0.4.5

6 files

0.4.4

6 files

0.4.3

6 files

0.4.2

6 files

0.4.1

6 files

0.4.0

6 files

0.3.0

6 files

0.2.1

6 files

0.2.0

6 files

0.1.0

6 files

0.0.3

6 files

0.0.2

6 files

0.0.1

6 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page