All docs
Docs/ Packages/ The Package Manager
Packages

The Package Manager

Use Hub for machine package inventory and Desktop Settings → Project Packages to inspect and activate already available packages.

TL;DRHub installs, updates, downgrades and removes exact package builds on the machine. Desktop's Project Packages settings inspect local availability and enable or disable packages for the open project. A missing saved coordinate is handed to Hub for a separate installation.

Hub manages packages on the machine. Desktop manages packages in one project. Open Settings → Project Packages in Desktop to see what the project requires, whether those exact builds are locally available, and which packages are enabled.

Filters: In Project, Installed, Store#

Older screenshots show a combined Desktop Package Manager with these three filters. The current product separates their responsibilities:

Task Current surface
Browse package versions and dependencies Hub's Packages page or the web Store
Install, update, downgrade or remove package bytes Hub
Inspect the open project's saved packages and local readiness Desktop Settings → Project Packages
Enable or disable an already available package for this project Desktop Settings → Project Packages
Acquire free or paid account access Web Store or the supported Market CLI

A catalog listing or account entitlement does not mean the package is installed. Likewise, an installed package is not automatically active in every project.

The enable switch is a project-scoped freeze#

Turning a package off preserves its project nodes and previously written artifacts. Disabled steps stop running; cached output can still represent an earlier result, so it is not evidence that the current parameters were recomputed. Package-provided views and palette entries are deactivated. Re-enabling activates the available package for that project; save the project to persist its chosen state and exact package graph.

For sealed packages, activation verifies the complete cached dependency graph before using it. An activation failure restores the previous project/runtime state. Desktop does not download a replacement or silently substitute a different machine default.

Missing or changed packages#

When a saved exact build is missing, use the panel's Hub handoff. The selection identifies the package and version, for example:

text
lsd://store/lsd-widgets?action=select&version=1.0.0

This opens a selection in Hub. Review it there and install separately; the link itself does not acquire bytes, grant entitlement or change the machine default. Return to the project once its saved requirements are ready. See Acquire & install.

If Hub changes inventory while Desktop is open, the session reports the affected packages and keeps its existing activated code. Reopen deliberately after resolving the saved coordinate. For edited Local source packages, use a fresh Desktop process: reopening within the same process or toggling off and on does not reload the Python module.

Variants#

Contribution variants describe which implementation supplies a node identity; they are separate from obtaining a package build. See Node variants for the authoring concept. The Project Packages checkbox controls package activation, not downloading a variant or replacing its installed bytes.

Default packages#

Hub's machine default selects an installed coordinate for future use. A saved project's explicit package graph and enabled state remain its own authority. Configure the project in Project Packages and save it; configure machine inventory in Hub.

Older instructions using LSD_DEFAULT_PACKAGES, a profile's default_packages, or LSD_DESKTOP_NO_AUTOLOAD are retired. Backend profiles select a source runtime's server; they are not a package-activation policy or a way to override an exact saved project graph.

Add from a URL or GitHub#

The former Desktop Add local…, Add from URL…, archive installation and removal controls are retired. Calling PackageManager.install_url(...) is not a replacement public installation workflow. Hub owns machine acquisition, including supported local-artifact ingestion.

For reusable Local source development, use the source-development CLI's lsd package link <package-directory> and then activate the linked package in Desktop. A Git checkout can be authoring source, but it must satisfy the Local manifest contract before linking; a repository URL does not grant package-install authority. See Develop a package. Store distributions use exact signed builds and the Hub installation workflow.

LearnDevelop a package · Node variants

APIPackageManager · lsd_package.json

ExamplesA complete package

Frequently asked questions

Does disabling a package uninstall it?

No. Disabling changes the open project's enabled state. It preserves saved nodes and cached artifacts; acquiring or removing package bytes belongs to Hub.

Does installing a newer package change an open project?

No. The open Desktop session retains its activated build and reports machine inventory changes. The project's saved exact coordinates remain distinct from Hub's machine default.

By LSD Team · Last updated Sep 09, 2026 Ask a question View as Markdown
Type to search every doc, guide, and tutorial.
↑↓ navigate openesc close