# uip rpa

> Commands for packaging Studio projects, running the analyzer and compiler, and exposing Studio operations for AI agents using the `uip rpa` tool.

`uip rpa` is the RPA tool — the bridge between the CLI and a UiPath Studio installation. It packages Studio projects into `.nupkg` archives, runs the workflow analyzer and compiler, scaffolds and runs projects, and exposes the Studio operations used by AI coding agents and the [skills system](./concepts-skills.md).

Install it with `uip tools install rpa`, or invoke `uip rpa …` and let auto-install run. See [Tools (plugins)](./concepts-tools.md) for the install model and [uip tools](./uip-tools.md) for the command that manages tool installation. `rpa` is the command prefix; the underlying package is `@uipath/rpa-tool`.

Before running the packager verbs in CI or on a fresh machine, make sure your runtime and runner OS match the project flavor — see [Prerequisites](#prerequisites).

## Commands

Every `uip rpa` verb has its own reference page. For live argument lists on your installed tool version, run `uip rpa <verb> --help`.

| Verb | Description |
|---|---|
| [`add-test-data-entity`](./uip-rpa-add-test-data-entity.md) | Add a Data Service entity as a data source for a test case. |
| [`add-test-data-queue`](./uip-rpa-add-test-data-queue.md) | Add a Test Data Queue from Orchestrator as a data source for a test case. |
| [`add-test-data-variation`](./uip-rpa-add-test-data-variation.md) | Add a CSV / Excel data variation file to a test case. |
| [`analyze`](./uip-rpa-analyze.md) | Run the workflow analyzer against a project with a governance policy. |
| [`build`](./uip-rpa-build.md) | Compile a Studio project without producing a `.nupkg`. |
| [`create-project`](./uip-rpa-create-project.md) | Scaffold a new project from a template. |
| [`diff`](./uip-rpa-diff.md) | Show differences between two files in a Studio diff window. |
| [`find-activities`](./uip-rpa-find-activities.md) | Search activities matching a query and optional tags. |
| [`get-analyzer-rules`](./uip-rpa-get-analyzer-rules.md) | List the enabled workflow-analyzer rules for the open project. |
| [`get-default-activity-xaml`](./uip-rpa-get-default-activity-xaml.md) | Retrieve the XAML representation of an activity with default values. |
| [`get-errors`](./uip-rpa-get-errors.md) | Retrieve diagnostics from a file or the whole project, filtered by severity. |
| [`get-manual-test-cases`](./uip-rpa-get-manual-test-cases.md) | Get manual test cases from Test Manager. |
| [`get-manual-test-steps`](./uip-rpa-get-manual-test-steps.md) | Get manual test steps for a list of test-case IDs. |
| [`get-versions`](./uip-rpa-get-versions.md) | List available versions of a NuGet package across configured feeds. |
| [`get-workflow-example`](./uip-rpa-get-workflow-example.md) | Retrieve the XAML for a workflow example by key. |
| [`indicate-application`](./uip-rpa-indicate-application.md) | Indicate an application on screen using Studio. |
| [`indicate-element`](./uip-rpa-indicate-element.md) | Indicate a UI element on screen using Studio. |
| [`inspect-package`](./uip-rpa-inspect-package.md) | Inspect a NuGet package's public API via reflection. |
| [`install-data-fabric-entities`](./uip-rpa-install-data-fabric-entities.md) | Add or remove Data Fabric entity bindings on the active project. |
| [`install-or-update-packages`](./uip-rpa-install-or-update-packages.md) | Install or update NuGet packages in the current project. |
| [`list-data-fabric-entities`](./uip-rpa-list-data-fabric-entities.md) | List Data Fabric entities relevant to the active project. |
| [`list-workflow-examples`](./uip-rpa-list-workflow-examples.md) | Search RPA workflow examples by service tag. |
| [`pack`](./uip-rpa-pack.md) | Package a Studio project into a `.nupkg`. |
| [`restore`](./uip-rpa-restore.md) | Download the dependencies declared in `project.json`. |
| [`run-file`](./uip-rpa-run-file.md) | Run or debug a workflow / coded file. |
| [`search-templates`](./uip-rpa-search-templates.md) | Search project templates on configured NuGet feeds. |
| [`start-studio`](./uip-rpa-start-studio.md) | Ensure a Studio instance is running. |
| [`stop-execution`](./uip-rpa-stop-execution.md) | Stop a running execution previously started with `run-file`. |
| [`uia`](./uip-rpa-uia.md) | UI Automation CLI subgroup. |

`list-instances` is also registered, hidden from `--help` — it lists running Studio instances visible to the resolver.

## Synopsis

```
uip rpa pack <project> [options]
uip rpa build <projectDir> [options]
uip rpa analyze <project> --governance-file-path <policy> [options]
uip rpa restore <project> [outputPath] [options]
uip rpa start-studio [options]
uip rpa <verb> [options]
```

All `uip rpa` verbs honor the [global options](./global-options.md) (`--output`, `--output-filter`, `--log-level`, `--log-file`). Standard [exit codes](./exit-codes.md) apply.

The parent `uip rpa` group accepts a small set of options shared by every verb:

| Parent option | Description |
|---|---|
| `--project-dir <path>` | Project directory the verb operates on. Defaults to the current working directory. |
| `--studio-dir <path>` | Path to a Studio installation when discovery cannot find one automatically. |
| `--robot-dir <path>` | Path to a Robot installation directory. |
| `--timeout <seconds>` | Maximum wait for the underlying operation. Default: `300`. |
| `--verbose` | Verbose logging. |

These can be passed before or after the subcommand name.

:::note
**Flag surface**

The per-verb pages document the principal options. Because `rpa-tool` integrates the Studio packager, a handful of niche packager flags (signing material, NuGet sources config, output-type filters) follow the underlying packager's native flags — run `uip rpa <verb> --help` on a live install to see the complete set for your installed tool version. The flag names are consistent across tool versions within the CLI's MAJOR.MINOR line; see [Versioning and stability](./versioning.md).
:::

:::note
**Windows-only legacy wrapper**

A sibling tool, `@uipath/rpa-legacy-tool` (alias `rpa-legacy`), wraps the 2025.10 legacy .NET CLI for users who need Windows-only features that have not yet been ported to the cross-platform `uip rpa`. It exposes `uip rpa-legacy <verb>` for `package`, `validate`, `debug`, `find-package`, `find-activities`, and `type-definition`. See the [2025.10 legacy .NET CLI documentation](https://docs.uipath.com/test-suite/automation-cloud/2025.10/user-guide/uipath-command-line-interface) for its flag reference. `rpa-legacy` is Windows-only; `rpa` covers the modern surface.
:::

## Prerequisites

Two environmental constraints govern when and where the packager verbs can run.

### .NET runtime

The packager verbs ([`pack`](./uip-rpa-pack.md), [`build`](./uip-rpa-build.md), [`analyze`](./uip-rpa-analyze.md), [`restore`](./uip-rpa-restore.md)) wrap the Studio packager and the workflow compiler — both .NET-backed. A runner that invokes them must have a .NET runtime available.

For the full context on why `rpa-tool` keeps a .NET dependency while the rest of the CLI runs on Node.js, see [Breaking changes — Runtime change](./migration-breaking-changes.md#runtime-change-nodejs-18-replaces-net-as-the-cli-runtime-rpa-tool-keeps-a-net-dependency).

### Runner OS for Windows projects

Studio projects come in two non-legacy flavors — **Cross-platform** (`targetFramework: "Portable"` in `project.json`) and **Windows** (`targetFramework: "Windows"`). The runner OS must match the project flavor:

- **Cross-platform projects** can be operated on from any OS — Windows, macOS, or Linux.
- **Windows projects** require a **Windows runner**, regardless of which verb you are running. The Linux and macOS toolchain cannot resolve the Windows-only references these projects pull in.
- **Windows - Legacy projects** are a separate category — they require the [`uip rpa-legacy`](./uip-rpa-legacy.md) tool, which is Windows-only by design.

Match the runner OS in your CI to the project flavor, or split the pipeline so cross-platform work runs on Linux/macOS and Windows project work runs on a Windows agent.

## See also

- [Tools (plugins)](./concepts-tools.md) — install model for `@uipath/rpa-tool`.
- [Migration from the .NET CLI](./migration-from-dotnet-cli.md) — full command-to-command map for the packager verbs.
- [`uip tools`](./uip-tools.md) — install and manage tools.
- [Versioning and stability](./versioning.md) — semver contract for tool releases.
- [Skills](./concepts-skills.md) — how AI coding agents drive `uip rpa` verbs.
