lpm plugin
List, update, and remove the managed tools used by lint, fmt, and bundle.
Manage the shared tool installations that power lpm lint, lpm fmt, and lpm bundle.
lpm plugin <ACTION> [NAME]Quickstart
lpm plugin list
lpm plugin outdated
lpm plugin update oxlint| Action | Aliases | Purpose |
|---|---|---|
list | ls | Show cached versions and the locally selected default. No network request. |
outdated | — | Compare local defaults with upstream releases. |
update [name] | upgrade | Install and approve one tool, or update all installed tools. |
remove <name>[@version] | rm, uninstall | Remove one cached version or all versions of a tool. |
list and outdated do not accept a name. Updates and removals require no interactive confirmation.
Managed tools
| Name | Command | Distribution |
|---|---|---|
oxlint | lpm lint | A native executable from GitHub Releases. |
biome | lpm fmt | A native executable from GitHub Releases. |
rolldown | lpm bundle | Verified npm packages, including the platform binding. |
The first tool invocation downloads its selected version. Multiple versions can coexist in the shared cache.
tsdown belongs to your project. Use lpm upgrade to update it for lpm pack.
lpm check uses project TypeScript or managed tsgo. Neither compiler appears in this command's managed-tool list.
Project pins
Use lpm.json to select exact tool versions:
{
"tools": {
"oxlint": "1.89.0",
"biome": "2.6.2",
"rolldown": "1.2.14"
}
}The tool commands read these pins. lpm plugin update updates the shared default and leaves project pins unchanged.
Workspace members inherit root pins unless they define their own. Normal tool runs do not check upstream for newer versions.
Oxlint and Biome can download a pinned release after checksum verification. Rolldown accepts its bundled version or a version previously approved on this platform.
To use another approved Rolldown version, copy its exact version from the update output:
lpm plugin update rolldown
lpm plugin list --jsonAn update approves the current upstream version. It does not approve an arbitrary older pin. Remove an unavailable pin to use the selected default.
The management command has no project pin override or one-run opt-out. See built-in tools for default selection and verification.
Recipes
Update installed tools
lpm plugin outdated
lpm plugin updateAn unnamed update skips tools with no complete installation. To install a specific tool before its first use, name it:
lpm plugin update biomeThe new version becomes the shared default only after installation and verification succeed. Existing project pins still take precedence.
Updates run one tool at a time. If one update fails, earlier successful updates remain installed.
Remove cached versions
lpm plugin remove oxlint@1.57.0
lpm plugin remove biome
lpm plugin remove rolldown@1.0.2Removal covers every cached platform for the selected version or tool. Removing an absent version succeeds without changes.
Removal leaves project pins and the approved default unchanged. The next tool invocation can download that version again.
Prepare a CI cache
lpm plugin update oxlint --json
lpm plugin update biome --json
lpm plugin update rolldown --json
lpm plugin list --jsonCache ~/.lpm/plugins/ and ~/.lpm/engines/ between CI runs. LPM_HOME changes the parent directory for both caches.
For pinned projects, run the relevant tool once with the project configuration before you need an offline run.
Recover from a damaged installation
lpm plugin remove biome
lpm fmt --checkOxlint and Biome also support a fresh download without first removing the previous installation:
LPM_FORCE_TOOL_INSTALL=1 lpm lint
LPM_FORCE_TOOL_INSTALL=1 lpm fmt --checkA failed replacement keeps the previous installation. Invalid cached files never bypass verification.
Verification and failures
Oxlint and Biome use a bundled SHA-256 checksum, an upstream checksum sidecar, or the exact GitHub release asset digest. A checksum mismatch stops installation.
Rolldown verifies npm integrity for every downloaded package. Cached tools require matching verification metadata before reuse.
If upstream discovery fails, Oxlint and Biome updates can reuse the locally selected version. Read the warning before treating that result as an upstream update.
If GitHub rate limits a request, provide GITHUB_TOKEN or GH_TOKEN. These tokens apply to the GitHub API.
If a Rolldown pin is unavailable, remove the pin or select a version that this platform already approved.
JSON and exit codes
lpm plugin list --json
lpm plugin outdated --json
lpm plugin update oxlint --json
lpm plugin remove oxlint@1.57.0 --jsonListings include success, plugins, and count. Each row includes installed versions, the selected default, update status, and any discovery error.
outdated also includes outdated_count and the project-owned tsdown entry. An upstream lookup failure appears in that tool's row. Inspect each row's error field even when the command succeeds.
A named update returns plugin and version. An unnamed update returns updated and count.
A version-specific removal returns a boolean removed. A whole-tool removal returns the number of removed installed versions.
Successful operations exit 0. Invalid input and failed installations return a nonzero status and the standard JSON error object.
Flags
| Argument or flag | Effect |
|---|---|
<ACTION> | list, outdated, update, or remove. |
[NAME] | Optional for update. Required for remove, with optional @version. |
--json | Return structured output. |
See global flags for shared options.
See also
- Built-in tools — version selection, caches, and verification.
lpm lint— run Oxlint.lpm fmt— run Biome.lpm bundle— run Rolldown.lpm upgrade— update project dependencies.