Skip to main content
Jolter manages JavaScript runtimes as verified, exact-version installations under JOLTER_HOME.
RuntimeSelectorsProvider
Node.jsnumeric, wildcard, latest, ltsOfficial Node.js releases
Bunnumeric, wildcard, latestOfficial Bun releases
Denonumeric, wildcard, latestOfficial Deno releases

Install a personal default

Use jolter use to install and activate a global fallback.
jolter use node@lts
jolter use bun@latest
jolter use deno@2
The resolved exact version is stored in Jolter’s active configuration. It is used outside a configured project or when a project does not declare a runtime for the command you run.

Pin a project runtime

Run from the project root:
jolter pin node@24
jolter sync
pin records the requirement. sync installs or reuses a matching exact version.
jolter.json
{
  "$schema": "https://schemas.jolter.dev/project/v2/schema.json",
  "schemaVersion": 2,
  "runtime": {
    "node": "24"
  }
}
Only one runtime can be configured in jolter.json. If you pin deno@2 after node@24, Jolter replaces the runtime entry and preserves tools and plugins.

Choose selectors intentionally

SelectorUse when
node@ltsYou want a personal default that follows the current Node.js LTS line
node@24 or node@24.xA project should follow a major release line
node@24.5A project should follow a minor release line
node@24.5.0A release job or build image must resolve exactly
bun@latest or deno@latestYou are experimenting and accept provider movement
Broad selectors resolve against current provider metadata. Use exact versions when a build must reproduce the same exact runtime over time.

Compatibility files

Jolter also understands:
.node-version
.nvmrc
Runtime precedence is:
  1. nearest ancestor jolter.json with a runtime;
  2. nearest ancestor .node-version;
  3. nearest ancestor .nvmrc;
  4. global active runtime during direct shim execution.
Use jolter.json when you want a first-class Jolter declaration with runtime, tools, and plugins in one file.

Verify runtime routing

jolter doctor
jolter list
node --version
If the wrong runtime appears, check PATH precedence:
Get-Command node -All
type -a node
type -a node
The first node, bun, or deno entry should be inside the Jolter shims directory.

Runtime updates

Update the active runtime within its current major line:
jolter update node
Move to a new selector:
jolter update node@26
jolter update deno@latest
Project files are not changed by update. To change a project policy, edit or repin jolter.json, then run jolter sync.