- Visão geral
- Introdução
- Conceitos
- Using UiPath CLI
- Guias de instruções
- CI/CD recipes
- Referência de comando
- Visão geral
- Códigos de saída
- Global options
- uip codedagent
- uip docsai
- add-test-data-entity
- add-test-data-queue
- add-test-data-variation
- analyze
- build
- criar projeto
- diff
- find-activities
- get-analyzer-rules
- get-default-activity-xaml
- get-errors
- get-manual-test-cases
- get-manual-test-steps
- get-versions
- get-workflow-example
- indicate-application
- indicate-element
- inspect-package
- install-data-fabric-entities
- install-or-update-packages
- list-data-fabric-entities
- list-workflow-examples
- pack
- restore
- run-file
- search-templates
- start-studio
- stop-execution
- uia
- uip traces
- Migração
- Visão geral
- Migrating from the legacy .NET CLI
- Command map (legacy to uip)
- Flag renames
- Mudanças de impacto
- Reference & support
UiPath CLI user guide
UiPath CLI 1.x (uip, distributed on npm as @uipath/cli) replaces the legacy .NET CLI (uipcli.exe, distributed as UiPath.CLI through calendar releases 2023.10, 2024.10, and 2025.10). This page explains who should migrate, what changes at the tooling level, and how to navigate the four detail pages below.
If you only want the flag-for-flag answer to "what do I type instead of uipcli <verb>?", jump to Command map and Flag renames.
Who this guide is for
You should migrate if any of the following apply:
- Your pipeline calls
uipcli.exe— directly, throughUiPathCLIAzure DevOps task, or from a Jenkins / GitHub Actions shell step. - You pin the legacy CLI to a calendar version (
2023.10,2024.10,2025.10) and have been tracking its yearly cadence. - You use user/password authentication (
-u/-p) or refresh-token authentication (-t/-a) against Orchestrator. - You build a
.nupkgwithuipcli package pack, deploy withuipcli package deploy, or run Orchestrator tests withuipcli test run.
You can stay on the legacy CLI for now if you need a Windows-only feature that has not yet been ported to the cross-platform uip rpa tool (Studio debugger integration, validate, find-package, find-activities, type-definition). A sibling uip rpa-legacy tool wraps the 2025.10 binary on Windows; see uip rpa — Windows-only legacy wrapper. Everything else — packaging on Linux/macOS, Orchestrator operations, Solutions, Test Manager, Agents, Flows, Maestro — is in uip today.
What changes at a glance
| Dimensões | Legacy uipcli (through 2025.10) | uip 1.x |
|---|---|---|
| Binary name | uipcli.exe / uipcli.dll | uip |
| Distribuição | MSI, NuGet (UiPath.CLI, UiPath.CLI.Windows) | npm (@uipath/cli) |
| Runtime | .NET 6 / .NET Framework | Node.js 18+ |
| Plataforma | Windows (primary), Linux via cross-plat NuGet | Windows, macOS, Linux, ARM64 |
| Controle de versão | Calendar (2023.10, 2024.10, 2025.10) | Semantic (1.0.0, 1.1.0, 2.0.0) |
| Install model | Monolithic | Host + per-surface tool plugins (see Tools) |
| Default output | Text logs to stdout + exit code | JSON envelope on stdout, logs on stderr |
| Primary auth flows | user/pass, refresh token, external app | external app (CI), interactive OAuth (dev), env-token (container) |
| Configuração | CLI flags only | Flags + environment variables (see Configuration) |
See What's new for the rewrite summary.
Which CLI version am I on?
Run uipcli --version (or dotnet uipcli.dll --version). The output looks like 23.10.8817.35919, 24.10.9248.xxxxx, or 25.10.xxxx.xxxxx. The migration paths below cover all three.
| You are running | Where to go |
|---|---|
uipcli 23.10.* | Read this whole page, then Command map + Flag renames. deploy and asset deploy verbs you use are all mapped. |
uipcli 24.10.* | Same as 23.10 — the command surface barely changed. If you adopted the solution verb added in 24.10, every subcommand is mapped. |
uipcli 25.10.* | Same as above. test parallel and the multi-entry-point --processNames <csv> deploy form have specific migration notes in Command map. |
Usando uipcli run <args.json> | See Command map — run — the new CLI has no direct equivalent; the recommended pattern is a shell script with one uip invocation per step. |
Decision table — pick your starting point
Your use case on uipcli | Migration target | Detail page |
|---|---|---|
| Pack a Studio project → upload to Orchestrator → create a process | uip rpa pack → uip or packages upload → uip or processes create | Command map — package |
Pack and deploy a Solution (.uipx) | uip solution pack → uip solution publish → uip solution deploy run | Command map — solution, first pipeline |
| Start an Orchestrator job | uip or jobs start <process-key> [--wait-for-completion] | Command map — job |
| Run a Test Manager test set | uip tm testset execute → uip tm wait → uip tm report get | Command map — test |
| Deploy CSV-declared assets | uip resource assets create in a loop (no one-shot CSV deploy today) | Command map — asset |
| Run the workflow analyzer | uip rpa analyze <project> --governance-file-path <policy> | Command map — analyze |
| Authenticate a CI pipeline | uip login --client-id env.UIPATH_CLIENT_ID --client-secret env.UIPATH_CLIENT_SECRET --tenant <name> | Flag renames — auth |
| Port an Azure DevOps / Jenkins pipeline | Replace UiPathCLI task blocks with uip shell steps | Exemplos de pipeline |
Most common breaking changes
These three appear in nearly every migration. See Breaking changes for the full list.
- Basic (
-u/-p) and refresh-token (-t/-a) auth are gone. Only External Application client credentials, interactive OAuth2, and environment-variable access tokens are supported. See Authentication. UIPATH_CLIENT_ID/UIPATH_CLIENT_SECRETare no longer read implicitly. Pass them as--client-id env.UIPATH_CLIENT_ID --client-secret env.UIPATH_CLIENT_SECRET(theenv.prefix reads the variable without exposing it on the command line).- Stdout is JSON by default. Legacy shell scripts that parsed
uipclitext output need to usejq(or--output plain+--output-filter) or switch to--output tablefor human reading.
Antes de começar
Complete these four steps before you start porting a pipeline.
1. Back up your current pipeline files
Commit a known-good copy of every azure-pipelines.yml, Jenkinsfile, .github/workflows/*.yml, or .gitlab-ci.yml on a branch (or tag). The port is easier to review as a diff.
2. Pin @uipath/cli to a specific version
Always install with an explicit version during migration so pipeline behavior does not change unexpectedly:
npm install -g @uipath/cli@1.0.0
npm install -g @uipath/cli@1.0.0
Tools pin implicitly to the CLI's MAJOR.MINOR line (see Versioning), so a pinned CLI also pins every tool to a known minor range. For strict patch-level reproducibility, pin tools too — see the "Pinning versions in CI" section of Scripting patterns.
3. Bookmark the legacy .NET CLI docs
Cross-reference flag behavior during the port. The 2025.10 reference lives at docs.uipath.com — UiPath Command Line Interface (2025.10). Keep it open in a tab.
4. Create an External Application in UiPath
The legacy CLI accepted several authentication modes; the new CLI collapses CI authentication to External Application client credentials. Create the app now so the port has something to point at. See Authentication — Flow 2.
Grant the external app the same scopes your legacy CLI used — OR.Folders, OR.Jobs, OR.Execution, OR.Assets, OR.Users.Read, OR.Machines.Read, OR.TestSets, OR.TestSetExecutions covers the common CI case. See the --applicationScope value from your existing uipcli calls for the exact list you need.
The four detail pages
Each page below is focused enough to review in one sitting. Work through them in order if you're porting a full pipeline; jump straight to the one you need if you only want a specific answer.
Command map
Every legacy verb — package pack, package analyze, package deploy, package restore, job run, test run, test parallel, asset deploy, asset delete, solution pack, solution deploy, run — with its uip equivalent, a 1:1 / multi-step / removed classification, and a before/after shell snippet for every non-trivial row.
Flag renames
Flag-level mapping with the auth block at the top. Legacy -u/-p/-t/-a/-A/-I/-S/-o/--applicationScope/--identityUrl/--outputType/--traceLevel mapped to their uip counterparts (or called out as removed, with the replacement). Read this alongside the Command map — the Command map shows the verb, Flag renames shows the flag.
Mudanças de impacto
Prose coverage of the changes that break pipelines without warning. Auth mode removals, env-var auto-reading removal, exit-code contract tightening, JSON-stdout default, calendar-versioned NuGet folders gone, .NET runtime dropped. One paragraph per change with a "what to do" remediation.
Pipelines
Before/after snippets for Azure DevOps and Jenkins (required), with shorter GitHub Actions and GitLab CI snippets. Cross-linked to the full CI/CD recipes for complete pipelines.
Veja também
- What's new — headline summary of the rewrite.
- Your first pipeline — hands-on walkthrough of
pack → publish → deploy runwith the new CLI. - Authentication — the three supported auth flows in 1.x.
- Exit codes — the tightened five-tier contract.
- Tools (plugins) — why the command surface is split across npm packages and what auto-installs on first use.
- Who this guide is for
- What changes at a glance
- Which CLI version am I on?
- Decision table — pick your starting point
- Most common breaking changes
- Antes de começar
- 1. Back up your current pipeline files
- 2. Pin @uipath/cli to a specific version
- 3. Bookmark the legacy .NET CLI docs
- 4. Create an External Application in UiPath
- The four detail pages
- Command map
- Flag renames
- Mudanças de impacto
- Pipelines
- Veja também