---
title: "Use Node.js on an LTS line · Agent Wranglers"
url: https://agentwranglers.se/playbook/stack/languages-and-runtimes/nodejs-lts
updated: 2026-10-21
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Use Node.js on an LTS line

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers). Updated 2026-10-21.

For AI agents: [llms.txt](https://agentwranglers.se/llms.txt) is a short guide that sends you to the rules your problem needs, and [rules.json](https://agentwranglers.se/playbook/stack/rules.json) holds every rule of this playbook as JSON.

- Level: Recommended
- Chapter: [Languages and runtimes](https://agentwranglers.se/playbook/stack/languages-and-runtimes)
- Rule: Run JavaScript and TypeScript servers on an even-numbered Node.js line that is in Active or Maintenance LTS, and move up before its end date.
- Cost: Open source. MIT licence, free to run on your own servers. Managed hosting from several vendors is paid.
- How: Node.js passes all five tests. The first LTS release, 4.2.0, shipped in October 2015. Version 24.22.0 and 26.12.0 both shipped on 14 October 2026. Node.js 24 is in Maintenance LTS until 30 April 2028. Node.js 26 becomes Active LTS on 28 October 2026 and is supported until 30 April 2029. In the Stack Overflow Developer Survey 2026, 46.4% of developers used it. It is MIT licensed. Use 24 today and move to 26 once it has been LTS for a few weeks. Odd-numbered lines get six months of support and never become LTS. Choose something else when the team already runs Python well, or a service needs one small binary, where Go is a fair choice. An LTS line is how Node.js passes [Pick software that still ships releases](https://agentwranglers.se/playbook/stack/how-to-choose/still-maintained).
- Check: `node --version` prints v24 or v26 in production and in continuous integration. The `engines` field in `package.json` and the base image name the same major version.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### JSON example

```json
{
  "name": "bookings-api",
  "engines": { "node": ">=24 <25" }
}
```

### Dockerfile example

```dockerfile
FROM node:24-slim
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --omit=dev
COPY . .
CMD ["node", "server.js"]
```

## Sources

- [Node.js releases](https://nodejs.org/en/about/previous-releases)
- [Node.js release schedule](https://github.com/nodejs/Release)

## Related rules

- [Pick software that still ships releases](https://agentwranglers.se/playbook/stack/how-to-choose/still-maintained) in Software choices

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/stack/languages-and-runtimes/nodejs-lts">Agent Wranglers software choices playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Use TypeScript for web apps and APIs](https://agentwranglers.se/playbook/stack/languages-and-runtimes/typescript)
- Next: [Use Python for data work and as a second server language](https://agentwranglers.se/playbook/stack/languages-and-runtimes/python)
- [Languages and runtimes](https://agentwranglers.se/playbook/stack/languages-and-runtimes)
