---
title: "[Contentstack Launch] - Supported Node.js Versions"
description: Supported Node.js versions on Contentstack Launch and how to set the Node.js version via package.json engines, including troubleshooting redeployments after Node.js 18 discontinuation.
url: https://www.contentstack.com/docs/developers/launch/supported-nodejs-versions
product: Contentstack Launch
doc_type: reference
audience:
  - developers
version: current
last_updated: 2026-03-25
---

# [Contentstack Launch] - Supported Node.js Versions

This page lists the supported Node.js versions available on Contentstack Launch, explains how to set the Node.js version in `package.json`, and provides troubleshooting guidance for redeployments impacted by Node.js version support changes. It is intended for developers deploying or redeploying Launch projects, especially when managing Node.js runtime compatibility.

## Supported Node.js Versions

**Warning**: Support for Node.js version 18 is discontinued for Launch as of August 1, 2025. Update to a supported Node.js version to avoid disruptions in your projects.

The following are the available [Node.js](https://nodejs.org/en/download/) versions on Launch:
- 22.x (default)
- 20.x
- 18.x (discontinued as of August 1, 2025)

**Note**:
- Only major long-term support (LTS) versions are supported. Contentstack Launch will automatically update to the latest minor versions and security patches.
- If your site uses an unsupported Node.js version, update it before redeploying. Launch does not upgrade Node.js automatically for existing deployments if the `"engines"` field is missing in `package.json`. This safeguard is intentional to prevent unexpected issues from incompatible Node.js libraries. Redeployments will fail until a supported version (for example, Node.js 20 or 22) is explicitly specified in `package.json`.

## Setting the Node.js Version in the package.json File

You can specify the major Node.js version in the [engines](https://docs.npmjs.com/cli/v10/configuring-npm/package-json#engines) section of the `package.json` file.

**Example:**

`package.json`

```
{
  "engines": {
    "node": "20.x"
  }
}
```

When a valid [semver range](https://semver.org/) for Node.js 20 (e.g. 20.x) is specified in the `package.json`, the project will be deployed with the latest available 20.x version of Node.js.

**Note**: If the `engines` section is not specified in `package.json`, the default Node.js version (Node.js 22.x) will be used.

**Example Version Ranges and their Deployed Node.js Versions:**

| Version in package.json | Version deployed |
|---|---|
| 20.x | 20.x |
| ^20.0.0 | 20.x |
| >=20.0.0 | 22.x |
| >=18.x | 22.x |
| 18.x | 18.x |
| ^18.0.0 | 18.x |

## Troubleshooting

If you encounter the following error when redeploying an existing project, it is likely due to the Node.js version settings:

```
ERROR: Node.js v18. is no longer supported on Launch. Please upgrade to a supported version to continue deploying your projects. View supported versions here: https://www.contentstack.com/docs/developers/launch/supported-nodejs-versions
```

Your latest live deployment was created **before August 1**, and your `package.json` does not specify an `"engines"` property. In such cases, the deployment still defaults to **Node.js 18**, which has now been **discontinued**. As a result, redeployments of these projects fail.

To ensure smooth deployments, **explicitly define the Node.js version** in your `package.json`:
- **Add** the following snippet.
- **Commit** the change.
- **Redeploy**.

```
{
  "engines": {
    "node": "22.x"
  }
}
```

This configuration instructs the deployment system to use **Node.js 22**, which is the currently supported default version.
- **Existing deployments (before August 1):** Require an `"engines"` field update, otherwise redeployments will fail due to Node.js 18.
- **New environments created after August 1:** Default to **Node.js 22** if no `"engines"` property is specified.
- **New deployments on environments created before August 1:** Will continue to use the previously set Node.js version (e.g., Node.js 18) unless explicitly updated via the `"engines"` field.

## Common questions

**Q: What Node.js version does Launch use if I don’t specify `"engines"` in `package.json`?**  
A: If the `engines` section is not specified in `package.json`, the default Node.js version (Node.js 22.x) will be used.

**Q: Why do redeployments fail for some older projects after August 1, 2025?**  
A: Your latest live deployment was created **before August 1**, and your `package.json` does not specify an `"engines"` property, so the deployment still defaults to **Node.js 18**, which has now been **discontinued**.

**Q: Does Launch automatically upgrade Node.js for existing deployments?**  
A: Launch does not upgrade Node.js automatically for existing deployments if the `"engines"` field is missing in `package.json`.

**Q: What should I set in `package.json` to deploy on a supported version?**  
A: Explicitly define the Node.js version in your `package.json` using the `"engines"` field (for example, `"node": "20.x"` or `"node": "22.x"`).