---
title: turbopackPluginRuntimeStrategy
description: Choose how Turbopack runs Node.js evaluation for webpack loaders, Babel, and PostCSS.
url: "https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackPluginRuntimeStrategy"
docs_index: /docs/llms.txt
lastUpdated: 2026-10-06
badge: "Experimental"
prerequisites:
  - "Configuration: /docs/app/api-reference/config"
  - "next.config.js: /docs/app/api-reference/config/next-config-js"
related:
  - /docs/app/api-reference/config/next-config-js/turbopack
---

> For an index of all documentation, see [/docs/llms.txt](/docs/llms.txt).

The `experimental.turbopackPluginRuntimeStrategy` option chooses whether Turbopack runs Node.js evaluation in child processes or worker threads.

**TypeScript**

```ts highlight={5} title="next.config.ts" 
import type { NextConfig } from 'next'

const nextConfig: NextConfig = {
  experimental: {
    turbopackPluginRuntimeStrategy: 'workerThreads',
  },
}

export default nextConfig
```

**JavaScript**

```js highlight={4} title="next.config.js" 
/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    turbopackPluginRuntimeStrategy: 'workerThreads',
  },
}

module.exports = nextConfig
```

This runtime executes Node.js-based tools, including [webpack loaders](/docs/app/api-reference/config/next-config-js/turbopack#configuring-webpack-loaders), Babel, and PostCSS.

## Reference

| Value                  | Default | Description                                                                                                                                            |
| ---------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `'childProcesses'`     | Yes     | Runs Node.js evaluation in a pool of child processes and communicates with them over sockets.                                                          |
| `'workerThreads'`      | No      | Runs Node.js evaluation in worker threads within the Next.js process. This can reduce memory and CPU overhead compared with a child process pool.      |
| `'forceWorkerThreads'` | No      | Uses worker threads even when the current Node.js version is affected by the worker-thread teardown issue described below. This can abort the process. |

## Node.js compatibility

On Node.js 24.13.1 and newer, a [Node.js worker-thread teardown issue](https://github.com/nodejs/node/issues/65100) can abort the process when a worker exits while a native addon has a live Node-API thread-safe function.

When `turbopackPluginRuntimeStrategy` is set to `'workerThreads'` on an affected Node.js version, Next.js prints a warning and falls back to `'childProcesses'`. Set `'forceWorkerThreads'` to bypass the fallback at the risk of aborting the process.

## Version History

| Version   | Changes                                                                   |
| --------- | ------------------------------------------------------------------------- |
| `v16.4.0` | `experimental.turbopackPluginRuntimeStrategy` configuration option added. |

- [turbopack](/docs/app/api-reference/config/next-config-js/turbopack): Configure Next.js with Turbopack-specific options

---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/docs/llms.txt](/docs/llms.txt)