CLI commands

Every jrt command. Runtime specs use <runtime>@<version>, e.g. node@22 or java@temurin-17.

Setup & healthRuntimes & projectsMachine toolsCompatibilityShims

Setup & health

jrt version
Print the jrt version.
jrt help
Show usage and examples.
jrt backend bootstrap
Download and checksum-verify the managed mise backend. Needed once per machine.
jrt doctor [--fix]
Check backend, registry, overrides, shims and interrupted-run leftovers; --fix repairs what is safe.
jrt storage
Show JRT_HOME and disk usage per cache and install area.
jrt cache clean [--all]
Remove disposable caches; --all also removes shared download caches.

Runtimes & projects

jrt runtime install <runtime@version>
Install a runtime version side by side with others.
jrt runtime list [runtime]
List installed runtimes, optionally for one runtime.
jrt pin <runtime@version> [...]
Pin one or more runtimes in the project .jrt.toml.
jrt current
Show the pins in effect for the current directory.
jrt import [--dry-run] [--force]
Convert .nvmrc, .python-version, .tool-versions, mise.toml, … into .jrt.toml pins.
jrt exec -- <command> [args...]
Run a command with the project’s pinned runtimes.
jrt x <runtime@version> -- <command> [args...]
Run a command once on a specific runtime without pinning.

Machine tools

jrt tool add <alias> <source> [--runtime <runtime@version>] [--bin <exe>] [--runtime-arg <arg>]...
Resolve, lock and register a tool. Sources: npm:, pypi:, go:, cargo:, nuget:, maven:, bun:, deno:, gem:.
jrt tool list
List registered tools with their locked versions and policies.
jrt tool update <alias>
Re-resolve the tool to the newest compatible version.
jrt tool remove <alias>
Unregister a tool.
jrt tool pin <alias> <runtime@version>
Always run the tool on this runtime (policy pinned).
jrt tool policy <alias> <auto|strict>
Change how the tool’s runtime is selected.
jrt run <alias> [args...]
Run a registered tool on its selected runtime.
jrt why <alias>
Explain the locked version, selected runtime and the reason.

Compatibility

jrt compat set <source> --runtime <runtime@version> [--versions <range>]
Add a local known-good rule.
jrt compat list
Show local rules and each installed signed layer.
jrt compat remove <source>
Remove a local rule.
jrt compat update <bundle.json|https-url>
Install a signed bundle from a trusted publisher.
jrt compat trust add <name> <public-key>
Trust a publisher key.
jrt compat trust list | remove <name|key-id>
List or remove trusted keys (removal also drops their rules).
jrt compat keygen <name> [--out <file>]
Create a publisher signing key.
jrt compat sign --key <file> --sequence <n> --out <bundle.json> [--rules <file>] [--publisher <name>] [--expires-in 90d]
Sign a rules bundle.

Shims

jrt shim enable | disable
Create or remove the shim directory and tool shims.
jrt shim add <command>... | remove <command>...
Shim runtime commands such as node, npm, python.
jrt shim list
List shims with ok / stale status.
jrt shim sync
Recreate shims (after upgrading jrt).
jrt shim path
Print the shim directory and the PATH command for your shell.

Exit codes

jrt exec, jrt x, jrt run and shims return the child process’s exit code unchanged. jrt’s own errors exit with 1.