# uip rpa restore

> `uip rpa restore` downloads the package dependencies declared in a Studio project's `project.json` into a local folder, so the project can be packed, analyzed, or opened offline. It is the modern replacement for `uipcli package restore` from the legacy .NET CLI — see [Migration — package restore](./migration-command-map.md#package-restore) for the full flag-to-flag map.

`uip rpa restore` downloads the package dependencies declared in a Studio project's `project.json` into a local folder, so the project can be packed, analyzed, or opened offline. It is the modern replacement for `uipcli package restore` from the legacy .NET CLI — see [Migration — package restore](./migration-command-map.md#package-restore) for the full flag-to-flag map.

:::warning
**Runtime requirements**

- **.NET runtime** must be available on the runner — restore uses the NuGet-backed pipeline of the Studio packager. See [Breaking changes — .NET runtime](./migration-breaking-changes.md#runtime-change-nodejs-18-replaces-net-as-the-cli-runtime-rpa-tool-keeps-a-net-dependency).
- **Windows runner for Windows projects.** Cross-platform projects (`targetFramework: "Portable"`) restore on any OS. **Windows projects** (`targetFramework: "Windows"`) need a Windows runner so Windows-only NuGet dependencies resolve. See [uip rpa overview](./uip-rpa.md) for the full project-flavor matrix.
:::

## Synopsis

```
uip rpa restore <project> [outputPath] [options]
```

- `<project>` — path to the Studio project (a directory containing `project.json`).
- `[outputPath]` — optional local folder to write dependencies into. If omitted, the tool uses its default location (the project's local packages cache).

For the complete option list on your installed tool version, run:

```bash
uip rpa restore --help
```

The flag set mirrors legacy `uipcli package restore` in concept: additional feed URLs for private feeds, credentials, NuGet config overrides, and proxy configuration. Flag names are kebab-case (`--orchestrator-url`, `--nuget-config-file-path`, `--feed-url`) rather than the PascalCase used by `uipcli`.

## Migration from the legacy .NET CLI

| Legacy .NET CLI | Modern CLI |
|---|---|
| `uipcli package restore <project>` | `uip rpa restore <project>` |
| `uipcli package restore <project> <outputPath>` | `uip rpa restore <project> <outputPath>` |

See [Migration — package restore](./migration-command-map.md#package-restore) for the full flag-level map.

## Related

- [uip rpa pack](./uip-rpa-pack.md) — package the project once dependencies are in place.
- [uip rpa analyze](./uip-rpa-analyze.md) — run the workflow analyzer against the restored project.

## See also

- [RPA tool overview](./uip-rpa.md)
- [Global options](./global-options.md)
- [Exit codes](./exit-codes.md)
