> For the complete documentation index, see [llms.txt](https://docs.n8n.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/nodes.md).

# Nodes

{% hint style="info" %}
**File-based configuration**

You can add `_FILE` to individual variables to provide their configuration in a separate file. Refer to [Keeping sensitive data in separate files](/deploy/host-n8n/configure-n8n/basic-configuration.md#keeping-sensitive-data-in-separate-files) for more details.
{% endhint %}

This page lists the environment variables configuration options for managing nodes[^1] in n8n, including specifying which nodes to load or exclude, importing built-in or external modules in the Code node, enabling community nodes, and configuring node-specific limits.

## Nodes and community node settings <a href="#nodes-and-community-node-settings" id="nodes-and-community-node-settings"></a>

| Variable                                 | Type             | Default                                                                    | Description                                                                                                                                                                                                                                                                    |
| ---------------------------------------- | ---------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `N8N_COMMUNITY_PACKAGES_AUTH_TOKEN`      | String           | -                                                                          | Authentication token for a private npm registry. Use with `N8N_COMMUNITY_PACKAGES_REGISTRY` to authenticate requests when installing community nodes from a private registry.                                                                                                  |
| `N8N_COMMUNITY_PACKAGES_ENABLED`         | Boolean          | `true`                                                                     | Enables (true) or disables (false) the functionality to install and load community nodes. If set to false, neither verified nor unverified community packages will be available, regardless of their individual settings.                                                      |
| `N8N_COMMUNITY_PACKAGES_PREVENT_LOADING` | Boolean          | `false`                                                                    | Prevents (true) or allows (false) loading installed community nodes on instance startup. Use this if a faulty node prevents the instance from starting.                                                                                                                        |
| `N8N_COMMUNITY_PACKAGES_REGISTRY`        | String           | `https://registry.npmjs.org`                                               | NPM registry URL to pull community packages from (license required).                                                                                                                                                                                                           |
| `N8N_CUSTOM_EXTENSIONS`                  | String           | -                                                                          | Specify the path to directories containing your custom nodes.                                                                                                                                                                                                                  |
| `N8N_PYTHON_ENABLED`                     | Boolean          | `true`                                                                     | Whether to enable Python execution on the Code node.                                                                                                                                                                                                                           |
| `N8N_UNVERIFIED_PACKAGES_ENABLED`        | Boolean          | `true`                                                                     | When `N8N_COMMUNITY_PACKAGES_ENABLED` is true, this variable controls whether to enable the installation and use of unverified community nodes from an NPM registry (true) or not (false).                                                                                     |
| `N8N_VERIFIED_PACKAGES_ENABLED`          | Boolean          | `true`                                                                     | When `N8N_COMMUNITY_PACKAGES_ENABLED` is true, this variable controls whether to show verified community nodes in the nodes panel for installation and use (true) or to hide them (false).                                                                                     |
| `NODE_FUNCTION_ALLOW_BUILTIN`            | String           | -                                                                          | Permit users to import specific built-in modules in the Code node. Use \* to allow all. n8n disables importing modules by default.                                                                                                                                             |
| `NODE_FUNCTION_ALLOW_EXTERNAL`           | String           | -                                                                          | Permit users to import specific external modules (from `n8n/node_modules`) in the Code node. n8n disables importing modules by default.                                                                                                                                        |
| `NODES_ERROR_TRIGGER_TYPE`               | String           | `n8n-nodes-base.errorTrigger`                                              | Specify which node type to use as Error Trigger.                                                                                                                                                                                                                               |
| `NODES_EXCLUDE`                          | Array of strings | `[\"n8n-nodes-base.executeCommand\", \"n8n-nodes-base.localFileTrigger\"]` | Specify which nodes not to load. For example, to block nodes that can be a security risk if users aren't trustworthy: `NODES_EXCLUDE: "[\"n8n-nodes-base.executeCommand\", \"@n8n/n8n-nodes-langchain.lmChatDeepSeek\"]"`. To enable all nodes, specify `NODES_EXCLUDE: "[]"`. |
| `NODES_INCLUDE`                          | Array of strings | -                                                                          | Specify which nodes to load.                                                                                                                                                                                                                                                   |

## Compression node settings <a href="#compression-node-settings" id="compression-node-settings"></a>

| Variable                                           | Type   | Default      | Description                                                        |
| -------------------------------------------------- | ------ | ------------ | ------------------------------------------------------------------ |
| `N8N_COMPRESSION_NODE_MAX_DECOMPRESSED_SIZE_BYTES` | Number | `2147483648` | Maximum total decompressed output size in bytes. Default is 2 GiB. |
| `N8N_COMPRESSION_NODE_MAX_ZIP_ENTRIES`             | Number | `5000`       | Maximum number of entries allowed in a ZIP archive.                |

## Manage installed community packages <a href="#manage-installed-community-packages" id="manage-installed-community-packages"></a>

{% hint style="info" %}
**Available from n8n v2.21.0**
{% endhint %}

Pre-provision installed [community packages](/integrations/community-nodes/installation-and-management.md) from environment variables. See [Manage instance settings using environment variables](/deploy/host-n8n/configure-n8n/manage-settings-using-environment-variables.md) for the `*_MANAGED_BY_ENV` pattern.

| Variable                                | Type        | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| --------------------------------------- | ----------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `N8N_COMMUNITY_PACKAGES_MANAGED_BY_ENV` | Boolean     | `false` | Set to `true` to manage installed community packages from environment variables. When `true`, n8n reconciles the installed packages against `N8N_COMMUNITY_PACKAGES` on every startup, installing missing packages, correcting versions, and **uninstalling any currently-installed packages that aren't in the list**. The **Community nodes** settings page becomes read-only: you can't install, update, or uninstall packages from the UI while this is enabled. |
| `N8N_COMMUNITY_PACKAGES`                | JSON string | -       | JSON array of community packages to install. Each entry is an object with a `name` (required) and optional `version` and `checksum` fields. You can also embed the version in the name as `<package-name>@<version>`. See [environment variable installation](/integrations/community-nodes/installation-and-management/environment-variable-installation.md) for the full per-field reference.                                                                      |

[^1]: In n8n, nodes are individual components that you compose to create workflows. Nodes define when the workflow should run, allow you to fetch, send, and process data, can define flow control logic, and connect with external services.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/nodes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
