- Overview
- Get started
- Concepts
- Using UiPath CLI
- How-to guides
- CI/CD recipes
- Command reference
- Overview
- Exit codes
- Global options
- uip codedagent
- uip coder
- uip context-grounding
- uip docsai
- uip function
- uip guardrails
- uip llm-configuration
- uip llm-gateway
- uip maestro authoring
- uip maestro registry
- uip model-hub
- activities find
- activities get-default-xaml
- analyze
- analyzer-rules list
- build
- cleanup
- data-fabric-entities install
- data-fabric-entities list
- files diff
- get-library-object-repository
- get-object-repository
- init
- instances list
- pack
- packages inspect
- packages install
- packages versions
- publish
- remote
- restore
- run, debug & execution
- settings
- studio start
- templates search
- test-data add-entity
- test-data add-queue
- test-data add-variation
- tm
- uia
- validate
- workflow-examples get
- workflow-examples list
- uip tasks
- uip traces
- uip traces feedback
- Migration
- Reference & support
uip solution
Build, publish, and deploy UiPath Solutions using the `uip solution` tool, from scaffold and pack to Orchestrator activation.
uip solution builds, publishes, and deploys solutions — bundles of UiPath projects (RPA workflows, test cases, libraries, agents, Maestro flows, and apps) shipped and versioned as a single artifact. A solution is defined by a .uipx manifest at the root of a solution directory; every project listed in that manifest travels together through pack, publish, and deploy.
Most of your time in this tool is spent on three steps: scaffold or edit a solution locally (init, projects), package it into a .zip (pack), and deploy the packaged version to Orchestrator (publish + deploy run). See Your first pipeline for the end-to-end walkthrough.
Verb taxonomy
| Verb family | Operates on | Purpose |
|---|---|---|
init | Local filesystem | Scaffold an empty .uipx solution directory. |
projects | Local .uipx / cloud | Add, import, list, remove, publish, or resync projects registered in the solution manifest. |
resources | Local solution | List, get, add, remove, edit, and refresh the resource declarations (queues, assets, buckets, processes, connections, and more) inside a solution. |
pack | Local solution | Produce a deployable .zip package from a solution directory or .uis file. Also validates via --dry-run, signs packages, and stamps source-traceability metadata. |
publish | Tenant feed / Personal Workspace / folder feed | Upload a packed .zip to a UiPath solution feed. |
upload | Studio Web | Upload a solution for browser-based editing in Studio Web. |
download | Studio Web | Download and optionally extract a Studio Web solution by ID. |
list (Preview) | Studio Web / local filesystem | List your Studio Web solutions, or scan a directory for local ones. |
delete | Studio Web | Delete a Studio Web solution by ID (requires -y, --yes). |
cleanup | Local filesystem | Remove unused items from every project in a solution. |
restore | Local filesystem | Resolve NuGet dependencies for every project in a solution. |
feeds | Tenant / Personal Workspace / folders | List the feeds (publish locations) you can publish or deploy to. |
packages | Tenant feed / Personal Workspace / folder feed | List, download, and delete published solution packages (delete requires -y, --yes). |
deploy | Orchestrator | Install a deployment (run), move an existing one to another published package version in place (upgrade), check status, list, activate, uninstall (requires -y, --yes), delete a leftover deployment record (delete, requires -y, --yes), and edit deploy configuration files. |
uip solution is provided by the @uipath/solution-tool plugin. If it is not yet installed, uip tools install solution adds it. See Tools (plugins).
Synopsis
uip solution init <solutionName>
uip solution projects add <projectPath> [--solution-folder <path>]
uip solution projects import --source <path> [--solution-folder <path>]
uip solution projects remove <projectPath> [--solution-folder <path>]
uip solution projects list [--solution-folder <path>]
uip solution projects publish --project-name <name> --package-name <name> --package-version <version> [--folder-name <name>]
uip solution projects resync [project-name] [--sync-option <Sync|Reset>]
uip solution resources list [--solution-folder <path>] [--kind <kind>] [--search <term>] [--source <all|local|remote>] [--limit <n>] [--next-page <cursor>]
uip solution resources get <resource-key> [--solution-folder <path>]
uip solution resources add --source <local|remote> --kind <kind> --name <name>
uip solution resources remove <resource-key>
uip solution resources edit <resource-key> --patch <json> | --source remote [--force]
uip solution resources refresh [--solution-folder <path>]
uip solution pack <solutionPath> [outputPath] [--name <name>] [--version <version>] [--dry-run]
uip solution publish <packagePath> [--feed <name-or-key> | --personal-workspace] [--wait]
uip solution upload <solutionPath>
uip solution download <solution-id> [-d <destination>] [--extract]
uip solution list [--local [directory]] [--check-cloud]
uip solution delete <solution-id> -y
uip solution cleanup <solutionPath> [--dry-run]
uip solution restore <solutionPath>
uip solution feeds list
uip solution packages list [--personal-workspace | --feed <name-or-key>] [--limit <n>] [--offset <n>]
uip solution packages download <packageName> [packageVersion] [-d <path>]
uip solution packages delete <packageName> <packageVersion> --yes [--personal-workspace | --feed <name-or-key>]
uip solution deploy run --name <n> --package-name <n> --package-version <v> --folder-name <n> [--parent-folder-path <path> | --personal-workspace] [--feed <name-or-key>] [-y]
uip solution deploy upgrade <deployment-key> | --name <n> --package-name <n> [--version <v>] [--discard-draft] [--no-wait]
uip solution deploy status <deployment> [--feed <name-or-key> | --personal-workspace]
uip solution deploy activate <deployment-name>
uip solution deploy list [--folder-path <path> | --folder-key <key>] [--feed <name-or-key> | --personal-workspace] [--operation-status <s>] [--activation-status <s>]
uip solution deploy uninstall <deployment-name> -y
uip solution deploy delete <deployment-name> -y
uip solution deploy config get <package-name> [--package-version <v>] [-d <path>] [--format json|yaml]
uip solution deploy config set <file> [--all] <args...>
uip solution deploy config link <file> <resource> --name <n> [--folder-path <path>]
uip solution deploy config unlink <file> <resource>
uip solution init <solutionName>
uip solution projects add <projectPath> [--solution-folder <path>]
uip solution projects import --source <path> [--solution-folder <path>]
uip solution projects remove <projectPath> [--solution-folder <path>]
uip solution projects list [--solution-folder <path>]
uip solution projects publish --project-name <name> --package-name <name> --package-version <version> [--folder-name <name>]
uip solution projects resync [project-name] [--sync-option <Sync|Reset>]
uip solution resources list [--solution-folder <path>] [--kind <kind>] [--search <term>] [--source <all|local|remote>] [--limit <n>] [--next-page <cursor>]
uip solution resources get <resource-key> [--solution-folder <path>]
uip solution resources add --source <local|remote> --kind <kind> --name <name>
uip solution resources remove <resource-key>
uip solution resources edit <resource-key> --patch <json> | --source remote [--force]
uip solution resources refresh [--solution-folder <path>]
uip solution pack <solutionPath> [outputPath] [--name <name>] [--version <version>] [--dry-run]
uip solution publish <packagePath> [--feed <name-or-key> | --personal-workspace] [--wait]
uip solution upload <solutionPath>
uip solution download <solution-id> [-d <destination>] [--extract]
uip solution list [--local [directory]] [--check-cloud]
uip solution delete <solution-id> -y
uip solution cleanup <solutionPath> [--dry-run]
uip solution restore <solutionPath>
uip solution feeds list
uip solution packages list [--personal-workspace | --feed <name-or-key>] [--limit <n>] [--offset <n>]
uip solution packages download <packageName> [packageVersion] [-d <path>]
uip solution packages delete <packageName> <packageVersion> --yes [--personal-workspace | --feed <name-or-key>]
uip solution deploy run --name <n> --package-name <n> --package-version <v> --folder-name <n> [--parent-folder-path <path> | --personal-workspace] [--feed <name-or-key>] [-y]
uip solution deploy upgrade <deployment-key> | --name <n> --package-name <n> [--version <v>] [--discard-draft] [--no-wait]
uip solution deploy status <deployment> [--feed <name-or-key> | --personal-workspace]
uip solution deploy activate <deployment-name>
uip solution deploy list [--folder-path <path> | --folder-key <key>] [--feed <name-or-key> | --personal-workspace] [--operation-status <s>] [--activation-status <s>]
uip solution deploy uninstall <deployment-name> -y
uip solution deploy delete <deployment-name> -y
uip solution deploy config get <package-name> [--package-version <v>] [-d <path>] [--format json|yaml]
uip solution deploy config set <file> [--all] <args...>
uip solution deploy config link <file> <resource> --name <n> [--folder-path <path>]
uip solution deploy config unlink <file> <resource>
Every subcommand honours the global options (--output, --output-filter, --log-level, --log-file) and returns the standard exit codes. Default output is JSON. deploy run stops when the package is already deployed, unless -y, --yes is passed; to install a second, separate copy, pass --yes with a different --name. To move an existing deployment to another package version in place, use deploy upgrade. The pack/publish/packages/deploy synopsis lines above are abbreviated — see each command's own page for the full, verified flag list.
End-to-end flow
┌──────────┐ ┌────────────┐ ┌──────────┐ ┌──────────────┐ ┌──────────────────┐
│ solution │ │ solution │ │ solution │ │ solution │ │ solution deploy │
│ init │ → │ projects │ → │ pack │ → │ publish │ → │ run │
│ │ │ add/import │ │ │ │ (tenant feed)│ │ (Orchestrator) │
└──────────┘ └────────────┘ └──────────┘ └──────────────┘ └──────────────────┘
┌──────────┐ ┌────────────┐ ┌──────────┐ ┌──────────────┐ ┌──────────────────┐
│ solution │ │ solution │ │ solution │ │ solution │ │ solution deploy │
│ init │ → │ projects │ → │ pack │ → │ publish │ → │ run │
│ │ │ add/import │ │ │ │ (tenant feed)│ │ (Orchestrator) │
└──────────┘ └────────────┘ └──────────┘ └──────────────┘ └──────────────────┘
- Scaffold.
uip solution init my-solutioncreates a directory with an empty.uipxmanifest (plusAGENTS.md/CLAUDE.mdbriefing files). - Populate.
uip solution projects add ./my-solution/my-projectregisters a project subfolder, oruip solution projects import --source ./externalcopies an external project in. - Pack.
uip solution pack ./my-solution ./dist --version 1.0.0produces./dist/my-solution_1.0.0.zip. - Publish.
uip solution publish ./dist/my-solution_1.0.0.zipuploads the.zipto a solution feed. - Deploy.
uip solution deploy run --name my-deployment --package-name my-solution --package-version 1.0.0 --folder-name MySolution --parent-folder-path Sharedcreates an Orchestrator folder, provisions resources (queues, assets, processes), and activates the solution.
For interactive authoring, substitute step 3 with uip solution upload ./my-solution to open the solution in UiPath Studio Web instead of packing it for deployment.
Each step of this flow is documented on the page linked in the verb taxonomy table above. The full worked example lives in Your first pipeline.
Authentication and feed model
Commands that talk to Orchestrator or a solution feed — publish, upload, download, list (cloud mode), delete, packages *, feeds list, resources list/add/refresh (remote paths), and every deploy … subcommand — require an active session. Run uip login once. See Authentication.
Several of these commands additionally accept --personal-workspace or --feed <name-or-key> to target a specific solution feed instead of the default tenant feed. Use uip solution feeds list to find a feed's name or key.
Local commands (init, projects add/import/remove/list, pack, cleanup, restore, resources get/remove/edit, list --local) work offline against files on disk.
See also
uip solution feeds— list feeds for--feedonpublish,packages, anddeploy.uip solution list,uip solution download— find and retrieve Studio Web solutions.uip solution cleanup,uip solution restore— local project maintenance before packing.- Your first pipeline — hands-on walkthrough of pack → publish → deploy run.
- Tools (plugins) — how the solution tool is distributed and versioned.
- Authentication and Configuration — session setup and per-tenant defaults.
- Global options and Exit codes — contracts shared by every verb.
uip or— Orchestrator resource CRUD (assets, buckets, queues, libraries, triggers, webhooks), alongside jobs, processes, and folders.