---
title: Compatibility and requirements for the Node.js agent
source: https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent
---

Our Node.js agent includes built-in instrumentation of the most popular Node.js frameworks, app servers, databases, and message queuing systems. For frameworks and libraries that aren't instrumented out of the box, you can extend the agent with our [Node.js agent API](https://newrelic.github.io/node-newrelic/API.html).

Our Node.js agent is publicly available on the [Node Package Manager (npm) repository](https://npmjs.org/package/newrelic) as well as on [GitHub](https://github.com/newrelic/node-newrelic). Ready to try out New Relic's Node.js agent? [Create a New Relic account](https://newrelic.com/signup)!

## Requirements to install the agent

Before [installing the agent](https://docs.newrelic.com/docs/apm/agents/nodejs-agent/installation-configuration/install-nodejs-agent), check that your system meets its minimum requirements. For best performance, use the latest active long term support (LTS) version of Node.js.

**Compatible operating systems**

The Node.js agent is compatible with the following operating systems:

-   Linux
-   SmartOS
-   macOS 10.7 and higher
-   Windows Server 2008 and higher

**Hosting services**

It's also compatible with these hosting services:

-   [Google App Engine (GAE) flexible environment](https://docs.newrelic.com/docs/agents/nodejs-agent/hosting-services/install-new-relic-nodejs-agent-gae-flexible-environment)
-   AWS EC2
-   [Microsoft Azure](https://docs.newrelic.com/docs/nodejs/nodejs-agent-on-microsoft-azure)
-   [Heroku](https://docs.newrelic.com/docs/nodejs/nodejs-agent-on-heroku)

**Security requirements**

As a standard [security measure for data collection](https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/data-security), your app server must support SHA-2 (256-bit). SHA-1 is not supported.

**System requirements**

We will support the [latest versions of Node.js releases](https://nodejs.org/en/about/previous-releases) by the beginning of the following active long term support schedule. The version support policy does not replace our general end-of-life (EOL) policy.

The following are proposed time ranges. The actual release date may vary.

| Node.js version | Active long term support (LTS) start date | Initial release date of Node.js agent with support |
| --------------- | ----------------------------------------- | -------------------------------------------------- |
| 26              | October 2026                              | July 7, 2026 with Node.js agent v14.2.0            |
| 24              | October 2025                              | June 30, 2025 with Node.js agent v12.23.0          |
| 22              | October 2024                              | June 28, 2024 with Node.js agent v11.22.0          |

The following are proposed time ranges for EOL on older Node.js versions. We will typically drop support 2-4 months after the [published EOL date from Node.js](https://nodejs.org/en/about/previous-releases).

| Node.js version | End of life (EOL) date | Initial release date of Node.js agent dropping support                                                                                                                                                                                                                                                                                         |
| --------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 26              | April 2029             | TBD                                                                                                                                                                                                                                                                                                                                            |
| 24              | April 2028             | TBD                                                                                                                                                                                                                                                                                                                                            |
| 22              | April 2027             | TBD                                                                                                                                                                                                                                                                                                                                            |
| 20              | April 2026             | As of May 18, 2026, we have discontinued support for Node.js 20 with v14 of the Node.js agent.                                                                                                                                                                                                                                                 |
| 18              | April 2025             | As of July 23, 2025, we have discontinued support for Node.js 18 with v13 of the Node.js agent.                                                                                                                                                                                                                                                |
| 16              | September 2023         | As of July 31, 2024, we have discontinued support for Node.js 16 with v12 of the Node.js agent.                                                                                                                                                                                                                                                |
| 14              | April 2023             | As of August 28, 2023, we have discontinued support for Node.js 14 with v11 of the Node.js agent.                                                                                                                                                                                                                                              |
| 12              | April 2022             | As of August 3, 2022, we have discontinued support for Node.js 12 with v9 of the Node.js agent.                                                                                                                                                                                                                                                |
| 10              | April 2021             | As of July 26, 2021, we have discontinued support for Node.js 10 with v8 of the Node.js agent. For more details, including how you can easily prepare for this transition, see our [Support Forum post](https://support.newrelic.com/s/hubtopic/aAX8W0000008bz0/important-upcoming-changes-to-support-and-capabilities-across-browser-nodejs). |

## Other third-party monitoring software [#other-monitoring-software]

If your application uses any additional monitoring software, we cannot guarantee that our agent will work correctly and cannot offer technical support. For more information, see [Errors when using other monitoring software](https://docs.newrelic.com/docs/apm/new-relic-apm/troubleshooting/errors-while-using-new-relic-apm-alongside-other-apm-software).

/\* The content between begin: compat-table and end: compat-table is automatically updated by the Node.js agent team bot. Don't change the contents and don't change the formatting of the data between the comments.\*//\* begin: compat-table \*/

## Instrumented modules

After installation, the agent automatically instruments with our catalog of
supported Node.js libraries and frameworks. This gives you immediate access to
granular information specific to your web apps and servers.  For unsupported
frameworks or libraries, you'll need to instrument the agent yourself using the
[Node.js agent API](https://newrelic.github.io/node-newrelic/API.html).

**Note**: The latest published version may not reflect the most recent version
supported by the agent.

| Package name                      | Minimum supported version | Latest published version | Introduced in\* |
| --------------------------------- | ------------------------- | ------------------------ | --------------- |
| `@anthropic-ai/sdk`               | 0.33.0                    | 0.126.0                  | 13.19.0         |
| `@apollo/gateway`                 | 2.3.0                     | 2.14.4                   | 14.0.0          |
| `@apollo/server`                  | 4.0.0                     | 5.5.1                    | 14.0.0          |
| `@aws-sdk/client-bedrock-runtime` | 3.377.0                   | 3.1133.0                 | 11.13.0         |
| `@aws-sdk/client-dynamodb`        | 3.377.0                   | 3.1133.0                 | 8.7.1           |
| `@aws-sdk/client-sns`             | 3.377.0                   | 3.1133.0                 | 8.7.1           |
| `@aws-sdk/client-sqs`             | 3.377.0                   | 3.1133.0                 | 8.7.1           |
| `@aws-sdk/lib-dynamodb`           | 3.377.0                   | 3.1133.0                 | 8.7.1           |
| `@aws-sdk/smithy-client`          | 3.47.0                    | 3.374.0                  | 8.7.1           |
| `@azure/functions`                | 4.7.0                     | 4.16.4                   | 12.18.0         |
| `@elastic/elasticsearch`          | 7.16.0                    | 9.5.1                    | 11.9.0          |
| `@google/adk`                     | 1.1.0                     | 2.1.0                    | 13.20.0         |
| `@google/genai`                   | 1.1.0                     | 2.22.0                   | 12.21.0         |
| `@grpc/grpc-js`                   | 1.4.0                     | 1.14.4                   | 8.17.0          |
| `@hapi/hapi`                      | 20.1.2                    | 21.4.10                  | 9.0.0           |
| `@hapi/vision`                    | 5.0.0                     | 7.0.3                    | 9.0.0           |
| `@koa/router`                     | 12.0.1                    | 15.7.0                   | 3.2.0           |
| `@langchain/aws`                  | 0.1.3                     | 1.4.5                    | 13.8.0          |
| `@langchain/core`                 | 0.2.0                     | 1.2.11                   | 11.13.0         |
| `@langchain/langgraph`            | 1.0.0                     | 1.4.15                   | 13.12.0         |
| `@langchain/openai`               | 0.2.0                     | 1.5.13                   | 11.13.0         |
| `@modelcontextprotocol/sdk`       | 1.13.0                    | 1.30.0                   | 13.2.0          |
| `@nestjs/core`                    | 10.0.0                    | 12.0.3                   | 10.1.0          |
| `@opensearch-project/opensearch`  | 2.1.0                     | 3.6.0                    | 12.10.0         |
| `@prisma/client`                  | 5.0.0                     | 7.10.0                   | 11.0.0          |
| `@smithy/smithy-client`           | 2.0.0                     | 4.15.2                   | 11.0.0          |
| `amqplib`                         | 0.5.0                     | 2.0.1                    | 2.0.0           |
| `aws-sdk`                         | 2.2.48                    | 2.1693.0                 | 6.2.0           |
| `bluebird`                        | 3.0.0                     | 3.7.2                    | 1.27.0          |
| `bunyan`                          | 1.8.12                    | 1.8.15                   | 9.3.0           |
| `cassandra-driver`                | 4.0.0                     | 4.9.0                    | 1.7.1           |
| `connect`                         | 3.0.0                     | 3.7.0                    | 2.6.0           |
| `express`                         | 4.15.0                    | 5.2.1                    | 2.6.0           |
| `fastify`                         | 4.0.0                     | 5.12.5                   | 8.5.0           |
| `generic-pool`                    | 3.0.0                     | 3.9.0                    | 0.9.0           |
| `ioredis`                         | 4.0.0                     | 6.0.0                    | 1.26.2          |
| `iovalkey`                        | 0.1.0                     | 0.4.0                    | 13.9.0          |
| `kafkajs`                         | 2.0.0                     | 2.2.4                    | 11.19.0         |
| `koa`                             | 2.0.0                     | 3.2.1                    | 3.2.0           |
| `memcached`                       | 2.2.0                     | 2.2.2                    | 1.26.2          |
| `mongodb`                         | 4.1.4                     | 7.6.0                    | 1.32.0          |
| `mysql`                           | 2.16.0                    | 2.18.1                   | 1.32.0          |
| `mysql2`                          | 3.0.0                     | 3.24.4                   | 1.32.0          |
| `next`                            | 14.0.0                    | 16.3.5                   | 12.0.0          |
| `openai`                          | 4.0.0                     | 7.16.0                   | 11.13.0         |
| `pg`                              | 8.2.0                     | 8.23.0                   | 9.0.0           |
| `pg-native`                       | 3.0.0                     | 3.9.0                    | 9.0.0           |
| `pino`                            | 8.0.0                     | 10.3.1                   | 8.11.0          |
| `q`                               | 1.3.0                     | 1.5.1                    | 1.26.2          |
| `redis`                           | 3.1.0                     | 6.2.1                    | 1.31.0          |
| `restify`                         | 11.0.0                    | 12.0.0                   | 2.6.0           |
| `superagent`                      | 3.0.0                     | 10.3.0                   | 4.9.0           |
| `undici`                          | 5.0.0                     | 8.10.2                   | 11.1.0          |
| `when`                            | 3.7.0                     | 3.7.8                    | 1.26.2          |
| `winston`                         | 3.0.0                     | 3.19.0                   | 8.11.0          |

\*When package is not specified, support is within the `newrelic` package.

## AI Monitoring Support

The Node.js agent supports the following AI platforms and integrations.

### Amazon Bedrock

Through the `@aws-sdk/client-bedrock-runtime` module, we support all models (text-only) through the `Converse` API; for `InvokeModel` API, we support the following models:

| Model            | Image | Text | Vision |
| ---------------- | ----- | ---- | ------ |
| Amazon Titan     | ❌     | ✅    | -      |
| Anthropic Claude | ❌     | ✅    | ❌      |
| Cohere           | ❌     | ✅    | -      |
| Meta Llama3      | ❌     | ✅    | -      |

Note: if a model supports streaming, we also instrument the streaming variant.

### Google ADK

Through the `@google/adk` module, we support the following features:

| Agents | Tools |
| ------ | ----- |
| ✅      | ✅     |

Models/providers are generally supported transitively by our instrumentation of the provider's module.

| Provider      | Supported | Transitively |
| ------------- | --------- | ------------ |
| Google Gemini | ✅         | ✅            |

### LangChain

The following general features of LangChain are supported:

| Agents via LangGraph | Chains | Tools | Vectorstores |
| -------------------- | ------ | ----- | ------------ |
| ✅                    | ✅      | ✅     | ✅            |

Models/providers are generally supported transitively by our instrumentation of the provider's module.

| Provider       | Supported | Transitively |
| -------------- | --------- | ------------ |
| Azure OpenAI   | ❌         | ❌            |
| Amazon Bedrock | ✅         | ✅            |
| OpenAI         | ✅         | ✅            |

### Model Context Protocol SDK

Through the `@modelcontextprotocol/sdk` module, we support:

| Prompt Retrieval | Resource Reading | Tool Calls |
| ---------------- | ---------------- | ---------- |
| ✅                | ✅                | ✅          |

MCP is provider-agnostic. Any LLM provider that uses MCP tools is supported transitively.

| Provider | Supported | Transitively |
| -------- | --------- | ------------ |

### Anthropic

Through the `@anthropic-ai/sdk` module, we support:

| Chat | Completions | Files |
| ---- | ----------- | ----- |
| ✅    | ✅           | ❌     |

### Google Gen AI

Through the `@google/genai` module, we support:

| Audio | Cache | Chat | Embeddings | Image | PDF | Text | Video |
| ----- | ----- | ---- | ---------- | ----- | --- | ---- | ----- |
| ❌     | ❌     | ✅    | ✅          | ❌     | ❌   | ✅    | ❌     |

### OpenAI

Through the `openai` module, we support:

| Audio | Chat | Completions | Embeddings | Files | Images |
| ----- | ---- | ----------- | ---------- | ----- | ------ |
| ❌     | ✅    | ✅           | ✅          | ❌     | ❌      |

/\* end: compat-table \*/

## Hybrid agent instrumentations

Some instrumentations are supported through our
[hybrid agent](https://docs.newrelic.com/docs/apm/agents/manage-apm-agents/opentelemetry-api-support)
feature.

### Next.js v16+

Starting with agent
[version 14.1.0](https://docs.newrelic.com/docs/release-notes/agent-release-notes/nodejs-release-notes/node-agent-14-1-0),
support for the Next.js framework is based upon Next.js's built-in Open
Telemetry instrumentation. For details on how to configure the agent, please
review our
[example Next.js application](https://github.com/newrelic/newrelic-node-examples/tree/734e1e0be7302210bfb3a113ad93ad5eeb0e0fa8/nextjs/nextjs-app-router).

### Prisma 7

Prisma offers direct Open Telemetry instrumentation through their
[@prisma/instrumentation](https://www.npmjs.com/package/@prisma/instrumentation)
package. Starting with Prisma version 7, and agent
[version 14.1.0](https://docs.newrelic.com/docs/release-notes/agent-release-notes/nodejs-release-notes/node-agent-14-1-0),
we utilize this native instrumentation to gain insight into Prisma operations.
See our [Prisma example application](https://github.com/newrelic/newrelic-node-examples/tree/734e1e0be7302210bfb3a113ad93ad5eeb0e0fa8/prisma/prisma-7-js)
for details on how to utilize Prisma with the New Relic agent.

## Connect the agent to other New Relic features [#digital-intelligence-platform]

The Node.js agent integrates with other features to give you observability across your entire stack:

| Product                                                                                                                                                   | Capability                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [AI monitoring](https://docs.newrelic.com/docs/ai-monitoring/intro-to-ai-monitoring)                                                                      | If you have version 11.13.0 of the Node.js agent, you can collect AI data from certain AI libraries and frameworks. See [AI Monitoring Support](#ai-monitoring-support) above for the current compatibility list.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [Browser monitoring](https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser)                             | The Node.js agent can add the benefits of browser monitoring when you [enable auto-instrumentation](https://docs.newrelic.com/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent#select-apm-app). After enabling browser monitoring injection, simply follow our [guide to installing browser monitoring with the Node.js agent](https://docs.newrelic.com/docs/agents/nodejs-agent/extend-your-instrumentation/browser-monitoring-nodejs-agent/). Once you've completed these steps, you can view your browser data in the [APM **Summary** page](https://docs.newrelic.com/docs/apm/applications-menu/monitoring/apm-overview-page) and quickly switch between the APM and browser data for a particular app. For configuration options and manual instrumentation, see [browser monitoring and the Node.js agent](https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/new-relic-browser-nodejs-agent). |
| [Infrastructure monitoring](https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/getting-started/introduction-new-relic-infrastructure) | When you install the infrastructure and APM agents on the same host, they automatically detect one another. You can then view a list of hosts in the APM UI, and filter your hosts by APM app in the infrastructure UI. For more information, see [APM data in infrastructure monitoring](https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/data-instrumentation/new-relic-apm-data-infrastructure).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [New Relic dashboards](https://docs.newrelic.com/docs/insights/use-insights-ui/getting-started/introduction-new-relic-insights)                           | The Node.js agent sends [default events and attributes](https://docs.newrelic.com/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes) for NRQL queries. You can also [record custom events](https://docs.newrelic.com/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents) for advanced analysis.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [Synthetic monitoring](https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/getting-started/introduction-new-relic-synthetics)                  | [Synthetic transaction traces](https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/using-monitors/collect-synthetic-transaction-traces) connect requests from synthetic monitors to the underlying APM transaction.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
