Merged
Size
M
Change Breakdown
Feature85%
Docs15%
#28163feat: Add `require-continue-on-fail` ESLint rule for community nodes (no-changelog)

ESLint rule catches missing continueOnFail() in node execute methods

ESLint rule catches missing continueOnFail() in node execute methods

A new ESLint rule for n8n community nodes catches missing error handling, preventing single-item failures from aborting entire workflows.

Community node developers writing execute() methods often forgot to include error handling. Without this.continueOnFail(), a single failing item would abort the entire workflow instead of skipping past it.

A new ESLint rule now catches this pattern at lint time. The rule inspects node classes that implement INodeType, then verifies their execute() methods call this.continueOnFail(). Developers see the error immediately in their IDE, before their nodes ever reach production.

The rule is enabled in both recommended config presets for the community nodes plugin. It is not auto-fixable — the error handling pattern is too varied to auto-insert safely — but the error message directs developers to wrap item processing in try/catch and check continueOnFail() in the catch block.

This lands in the @n8n/eslint-plugin-community-nodes package, part of ongoing work to harden the community node submission process.

View Original GitHub Description

Summary

Add a new ESLint rule require-continue-on-fail to @n8n/eslint-plugin-community-nodes that ensures execute() methods in node classes include a this.continueOnFail() check.

Without this check, a single item error aborts the entire workflow instead of allowing execution to continue past the failing item. This was flagged as CRITICAL severity in a real community node review (CNOC-59).

What the rule does:

  • Visits ClassDeclaration nodes that implement INodeType (or extend Node)
  • Finds execute() methods on those classes
  • Reports an error if this.continueOnFail() is not called anywhere in the method body
  • Not auto-fixable (try/catch pattern is too varied to auto-insert)

Files added/modified:

  • require-continue-on-fail.ts — rule implementation
  • require-continue-on-fail.test.ts — 6 tests (4 valid, 2 invalid)
  • index.ts — rule registration
  • plugin.ts — added to recommended and recommendedWithoutN8nCloudSupport configs as error
  • docs/rules/require-continue-on-fail.md — rule documentation
  • README.md — auto-updated rules table

Related Linear tickets, Github issues, and Community forum posts

https://linear.app/n8n/issue/CE-739

Review / Merge checklist

© 2026 · via Gitpulse