n8n breaking changes, updated weekly

Every verified n8n trap in Footgun: changes and behaviors that break code or give wrong results, newest first. Each one has the error you see, the fix, and the date it was last checked. The list updates when the weekly check adds or retires a trap. For the full cause and sources, open the trap, or see all n8n traps.

  1. fg-0543· added 2026-10-17· last checked 2026-10-17

    n8n Azure Storage node fails with custom endpoint error on a Shared Key credential set to Custom cloud

    Symptom

    Azure Storage Shared Key credential with Azure Cloud set to Custom fails with a clear error when used

    Fix

    Set the environment variable to true on the n8n instance and restart, and use a host-style endpoint URL.

  2. fg-0339· added 2026-10-15· last checked 2026-10-15

    $env in an n8n Code node or expression returns 'access to env vars denied' after 2.0

    Symptom

    [ERROR: access to env vars denied]

    Fix

    Prefer credentials or Variables over env access. If you need it, set N8N_BLOCK_ENV_ACCESS_IN_NODE=false on main and on the runner, and pass the variables to the runner container.

  3. fg-0340· added 2026-10-15· last checked 2026-10-15

    Execute Command node disappears from n8n and old workflows fail to load it after 2.0

    Symptom

    Execute Command node missing from the nodes panel

    Fix

    Re-enable only what you need by setting NODES_EXCLUDE to a list without those nodes, or to an empty list to allow all.

  4. fg-0341· added 2026-10-15· last checked 2026-10-15

    n8n AI node fails with UND_ERR_HEADERS_TIMEOUT when a local model takes over five minutes

    Symptom

    { "name": "HeadersTimeoutError", "code": "UND_ERR_HEADERS_TIMEOUT" }

    Fix

    Upgrade to 2.5.0 or later and set N8N_AI_TIMEOUT_MAX in milliseconds if you need more than one hour.

  5. fg-0342· added 2026-10-15· last checked 2026-10-15

    n8n binary files go missing between nodes in queue mode or after upgrading to 2.0

    Symptom

    A worker cannot read a binary file written by another process in queue mode

    Fix

    In queue mode use database or S3 binary storage, and in regular mode budget disk for the filesystem default.

  6. fg-0347· added 2026-10-15· last checked 2026-10-15

    n8n Python Code node fails after 2.0 because _input and dot access no longer work

    Symptom

    Python code that reads _input fails after the upgrade

    Fix

    Rewrite Python code to use _items or _item with bracket notation, and run the n8nio/runners sidecar.

  7. fg-0348· added 2026-10-15· last checked 2026-10-15

    n8n Read/Write Files node fails with 'Access to the file is not allowed' after upgrading to 2.0

    Symptom

    Access to the file is not allowed. Allowed paths: /home/node/.n8n-files

    Fix

    Mount data under /home/node/.n8n-files, or list the extra directories in N8N_RESTRICT_FILE_ACCESS_TO separated by semicolons.

  8. fg-0351· added 2026-10-15· last checked 2026-10-15

    n8n shows webhook URLs as http://localhost:5678 when running behind a reverse proxy

    Symptom

    Webhook node displays http://localhost:5678/webhook/...

    Fix

    Set the public base URL explicitly, set proxy hops to 1, and forward X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Proto from the proxy.

  9. fg-0346· added 2026-10-15· last checked 2026-10-15

    n8n parent workflow receives the sub-workflow input instead of its result when the child has a Wait node

    Symptom

    Execute Workflow node output equals the data passed in

    Fix

    On 1.x store the child result in a data store and read it later, or avoid long waits in children. On 2.x review parents that relied on the old behavior.

  10. fg-0338· added 2026-10-15· last checked 2026-10-15

    Edits to an n8n workflow are saved but the production webhook still runs the old version

    Symptom

    Production executions show the previous node settings

    Fix

    Click Publish after editing, or publish from the CLI with publish:workflow in deploy scripts.

  11. fg-0343· added 2026-10-15· last checked 2026-10-15

    n8n Code node throws 'Cannot find module' for an npm package installed in the n8n image

    Symptom

    Cannot find module 'word-extractor' with a require stack under @n8n/task-runner

    Fix

    Build a custom image from n8nio/runners with the packages installed, allowlist them in n8n-task-runners.json under env-overrides, and mount it at /etc/n8n-task-runners.json.

  12. fg-0344· added 2026-10-15· last checked 2026-10-15

    n8n executions older than 14 days vanish and the SQLite file never shrinks

    Symptom

    Executions list stops at two weeks back

    Fix

    Raise EXECUTIONS_DATA_MAX_AGE or EXECUTIONS_DATA_PRUNE_MAX_COUNT if you need longer history, export what you must keep, and enable vacuum on startup for SQLite.

  13. fg-0345· added 2026-10-15· last checked 2026-10-15

    n8n expression errors with 'Multiple matching items for expression' after an Aggregate or Merge

    Symptom

    ERROR: Multiple matching items for expression

    Fix

    Use .first(), .last() or .all()[index] when you know the position, or set pairedItem in Code node output so links survive.

  14. fg-0349· added 2026-10-15· last checked 2026-10-15

    n8n says 'Credentials could not be decrypted' after a restore, upgrade or new container

    Symptom

    Credentials could not be decrypted. The likely reason is that a different 'encryptionKey' was used to encrypt the data.

    Fix

    Set N8N_ENCRYPTION_KEY explicitly to the original key on the main instance and on every worker and webhook processor, and back it up together with the database.

  15. fg-0350· added 2026-10-15· last checked 2026-10-15

    n8n Schedule Trigger fires hours off from the intended local time in Docker

    Symptom

    Schedule set for 9:00 runs at 6:00 or 15:00 local time

    Fix

    Set GENERIC_TIMEZONE (and TZ for the container) to your zone, or set the workflow timezone in workflow settings.

  16. fg-0352· added 2026-10-15· last checked 2026-10-15

    n8n webhook returns 404 'The requested webhook is not registered' on the second call

    Symptom

    404 The requested webhook "POST my-path" is not registered.

    Fix

    Point external services at the production URL, publish the workflow, and read results in the Executions tab. Use the test URL only for one manual call at a time.

Have your agent check n8n changes before it codes

$ /plugin marketplace add getfootgun/footgun
$ /plugin install footgun@footgun