# What Version of Node.js Is Insomnia Compatible With?

> Discover Insomnia's Node.js compatibility. Insomnia requires Node.js version 24 or higher, specifically 24.14.0 for reproducible builds. Learn more about Node.js version requirements.

- Repository: [Kong/insomnia](https://github.com/Kong/insomnia)
- Tags: compatibility-guide
- Published: 2026-06-27

---

**Insomnia requires Node.js version 24 or higher, with the development team pinning the exact version to 24.14.0 in the `.nvmrc` file for reproducible builds.**

The Kong/insomnia repository is an open-source API client built on Electron and Node.js. Understanding what version of Node.js Insomnia is compatible with is essential for contributors and developers building from source, as the project uses strict engine constraints to prevent runtime errors. The requirements are explicitly declared in the repository's [`package.json`](https://github.com/Kong/insomnia/blob/main/package.json) and `.nvmrc` files.

## Checking Node.js Version Requirements in package.json

According to the Kong/insomnia source code, the runtime requirements are defined in the `engines` field of [`package.json`](https://github.com/Kong/insomnia/blob/main/package.json):

```json
"engines": {
  "node": ">=24",
  "npm": ">=11"
}

```

This declaration means Insomnia supports **Node.js ≥ 24** (LTS) and **npm ≥ 11**. The build scripts, such as `npm run install-libcurl-node`, rely on these engine constraints; attempting to build with an older Node version will cause npm to exit with an engine compatibility error before compilation begins.

## Development Version Pinning with .nvmrc

While [`package.json`](https://github.com/Kong/insomnia/blob/main/package.json) specifies the minimum supported version, the `.nvmrc` file in the repository root pins the exact Node.js version used during development and CI/CD:

```text
24.14.0

```

Pinning to **24.14.0** ensures that all contributors, automated tests, and release builds use an identical Node environment. This eliminates the subtle bugs and native module incompatibilities that can arise from differences between Node 24 patch releases.

## Installing and Running Insomnia with the Correct Node Version

To ensure you are using a compatible Node.js version, use **nvm** (Node Version Manager) to automatically adopt the version specified in `.nvmrc`:

```bash

# Switch to the exact Node version defined in .nvmrc

nvm use

# Verify the active version matches the pinned requirement

node -v

# Output: v24.14.0

# Install dependencies using the lockfile and start development

npm ci
npm run dev

```

The `nvm use` command reads the `.nvmrc` file and switches your shell environment to Node 24.14.0. Running `npm ci` ensures you install dependencies that are verified to work with this specific Node major version.

## Programmatically Validating Node Compatibility

If you are writing custom build scripts or CI checks, you can verify the Node.js version programmatically by inspecting the `engines` field from [`package.json`](https://github.com/Kong/insomnia/blob/main/package.json):

```typescript
import { engines } from '../package.json' assert { type: 'json' };

if (!process.versions.node.startsWith('24')) {
  console.error(
    `Insomnia requires Node >=24. Detected ${process.versions.node}.`,
  );
  process.exit(1);
}

```

This assertion ensures the runtime meets the **>=24** requirement before executing build steps that depend on Node 24-specific APIs or native module bindings.

## Build Failures with Incompatible Node Versions

Using a Node.js version older than 24 will cause the build process to fail immediately. The `engines` constraint in [`package.json`](https://github.com/Kong/insomnia/blob/main/package.json) acts as a hard gate—npm will block `npm install` and script execution (including `install-libcurl-node`) if the runtime check fails. This enforcement prevents cryptic runtime errors that would otherwise occur when Insomnia attempts to use modern Node.js features unavailable in v20 or v22.

## Summary

- **Insomnia requires Node.js ≥ 24** and npm ≥ 11 as declared in the `engines` field of [`package.json`](https://github.com/Kong/insomnia/blob/main/package.json).
- The `.nvmrc` file pins the exact development version to **24.14.0**.
- Use `nvm use` to automatically switch to the correct version before running `npm ci` or `npm run dev`.
- Build scripts will fail with an engine error if you attempt to run them with Node.js 22 or older.
- Validate compatibility programmatically by checking `process.versions.node` against the `engines` field.

## Frequently Asked Questions

### Can I run Insomnia with Node.js 22 or 20?

No. Insomnia requires Node.js 24 or higher. The `engines` field in [`package.json`](https://github.com/Kong/insomnia/blob/main/package.json) explicitly declares `"node": ">=24"`, and npm will block installation if it detects an older major version. Attempting to bypass this check with `--force` will likely result in build failures during native module compilation or runtime crashes in the Electron app.

### Why does Insomnia require Node.js 24 specifically?

Node.js 24 is the current Long-Term Support (LTS) release that provides the specific JavaScript features, V8 engine optimizations, and security patches required by Insomnia's Electron-based architecture. The requirement ensures compatibility with modern dependency trees and native modules like `libcurl`, as documented in the repository's [`DEVELOPMENT.md`](https://github.com/Kong/insomnia/blob/main/DEVELOPMENT.md).

### How do I switch Node versions if I have multiple projects?

Install **nvm** (Node Version Manager) and run `nvm use` inside the Insomnia directory. This command reads the `.nvmrc` file and automatically switches to Node 24.14.0. You can return to other versions for different projects by running `nvm use <version>` in their respective directories, or configure your shell to automatically call `nvm use` when entering a directory containing an `.nvmrc` file.

### What npm version is required for Insomnia?

Insomnia requires **npm version 11 or higher**, as specified in the `engines` field alongside the Node requirement. After switching to Node 24 with nvm, verify your version with `npm -v`. If necessary, update npm globally with `npm install -g npm@11` to satisfy the constraint before running `npm ci`.