<!-- Source: https://docs.biosimulant.com/references/cli/migration -->

# Migrate from the Native Desktop CLI

The public CLI is now the headless `biosimulant` package distributed through PyPI. Desktop remains a graphical client and no longer defines a separate public command catalog.

## Command changes

| Previous command | Replacement |
|---|---|
| `biosimulant raw …` | Use the corresponding task-oriented canonical command |
| `biosimulant settings …` | Use Desktop Settings or configuration files |
| `biosimulant which` | Use `command -v biosimulant` or `where biosimulant` |
| `biosimulant install-cli` | Use `pipx install biosimulant` or Desktop's launcher control |
| `biosimulant uninstall-cli` | Use `pipx uninstall biosimulant` or Desktop's launcher control |
| `biosimulant self update` | Use `pipx upgrade biosimulant` |
| `biosimulant labs open` | Open the project through Desktop or the operating system |
| `biosimulant labs import` | Use `labs pull`, `labs create`, or Desktop import |
| `biosimulant runs open` | Use `runs results` or a report produced by `labs run` |

Desktop-only actions such as opening windows, navigation, notifications, and visual settings are private application behavior.

## Compatibility window

The native launcher may forward to the Python CLI for one migration release. Existing JSON adapters and compatibility URLs remain temporary and should not be used by new automation.

Verify automation against:

```bash
biosimulant commands list --json
biosimulant doctor
```
