# PackageManager.installed
URL: https://lsd.tools/docs/api-package-manager-installed
Updated: 2026-07-17

## Example

```python
from lsdtools.advanced import PackageManager

pm = PackageManager()
for info in pm.installed():
    print(info.name, info.version)
```

## Notes

Reads `~/.lsd/packages/installed.json` and re-reads each package's `lsd_package.json` from its
recorded path, filling in `installed_at`, `source`, and `enabled` from the record. Entries whose
path is missing or no longer holds a valid manifest are skipped. This lists only packages added via
*Install…* / [`add_local`](/docs/api-package-manager-add-local); to include pip entry-point and
search-path packages use [`available`](/docs/api-package-manager-available).

## See also

**API:** [available](/docs/api-package-manager-available) · [install](/docs/api-package-manager-install) · [remove](/docs/api-package-manager-remove)

**Guides:** [The Package Manager](/docs/pkg-manager) · [lsd_package.json](/docs/api-manifest)
