# Tool.mount
URL: https://lsd.tools/docs/api-tool-mount
Updated: 2026-07-18

## Parameters

| name | type | default | description |
|---|---|---|---|
| `host` | `Any` | `None` | the desktop / CLI host to contribute into (also stored for later action dispatch) |
| `package` | `str` | `None` | the attribution id used so `remove_package(...)` can cleanly unmount (defaults to `self.name`) |

## Example

```python
tool.mount(desktop)                       # the loader normally does this for you
tool.mount(desktop, package="lsd-mim")    # attribute contributions to a package id
```

## Notes

The package loader calls `mount` for you with the manifest's package id — call it yourself only when
embedding a tool by hand. It surfaces commands, templates, views, viewer states, and
`app/<verb>` actions as contributions, each attributed to `package` so unmounting is clean. Steps
and entities are already registered at decoration time, so they are not (re)registered here.

## See also

**API:** [dispatch](/docs/api-tool-dispatch) · [contribute](/docs/api-tool-contribute) · [PackageManager](/docs/api-package-manager)

**Guides:** [The Tool object](/docs/tools-tool-object) · [A complete package](/docs/ex-full-package)
