UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip solution packages

Syntax and options for `uip solution packages`, which lists, downloads, and deletes published solution packages.

uip solution packages manages published solution packages — the .zip artifacts produced by uip solution pack and uploaded by uip solution publish.

SubcommandPurpose
listList published packages (name, version, publish date).
downloadDownload a published package .zip to disk.
deleteDelete a specific version of a published package.

All three subcommands are authenticated. Run uip login first. list, download, and delete each default to the tenant feed; pass --personal-workspace or --feed <name-or-key> (list/delete only) to target a different one.

Synopsis​

uip solution packages list [--limit <n>] [--offset <n>] [--sort-by <column>] [--sort-order <Ascending|Descending>] [--name <pattern>] [--personal-workspace | --feed <name-or-key>]
uip solution packages download <packageName> [packageVersion] [--package-version <version>] [-d <destination>]
uip solution packages delete <packageName> <packageVersion> --yes [--personal-workspace | --feed <name-or-key>]
uip solution packages list [--limit <n>] [--offset <n>] [--sort-by <column>] [--sort-order <Ascending|Descending>] [--name <pattern>] [--personal-workspace | --feed <name-or-key>]
uip solution packages download <packageName> [packageVersion] [--package-version <version>] [-d <destination>]
uip solution packages delete <packageName> <packageVersion> --yes [--personal-workspace | --feed <name-or-key>]

Each subcommand honours the global options and returns the standard exit codes.


uip solution packages list​

List solution packages published to a feed. Output contains the fields you need to pass to uip solution deploy run: packageName and packageVersion.

Options​

LongValueDefaultDescription
-l, --limit <number>number50Number of packages to return.
--offset <number>number0Number of packages to skip.
--sort-by <column>textpublishDateColumn to sort by.
--sort-order <direction>Ascending | DescendingDescendingSort direction.
--name <pattern>text—Server-side substring match on package name.
--personal-workspaceflagoffOnly list packages in the current user's Personal Workspace feed. Mutually exclusive with --feed.
--feed <name-or-key>text—Only list packages in this feed (name or folder key, from solution feeds list). Mutually exclusive with --personal-workspace.
--login-validity <minutes>minutes10Minimum minutes before token expiration to trigger a refresh.

Examples​

# Most-recent publish in the tenant feed
uip solution packages list --limit 1

# Packages matching a name in a specific feed
uip solution packages list --feed Finance --name my-package

# Pick the latest version of a known package
uip solution packages list --output-filter "Data[?packageName=='my-package'] | [0].packageVersion" --output plain
# Most-recent publish in the tenant feed
uip solution packages list --limit 1

# Packages matching a name in a specific feed
uip solution packages list --feed Finance --name my-package

# Pick the latest version of a known package
uip solution packages list --output-filter "Data[?packageName=='my-package'] | [0].packageVersion" --output plain

Data shape (--output json)​

{
  "Code": "SolutionPackagesList",
  "Data": [
    {
      "packageName": "MyPackage",
      "packageVersion": "1.0.0",
      "publishDate": "2026-04-15T10:30:00Z"
    }
  ],
  "Pagination": { "Returned": 1, "Limit": 10, "Offset": 0, "Total": 1 }
}
{
  "Code": "SolutionPackagesList",
  "Data": [
    {
      "packageName": "MyPackage",
      "packageVersion": "1.0.0",
      "publishDate": "2026-04-15T10:30:00Z"
    }
  ],
  "Pagination": { "Returned": 1, "Limit": 10, "Offset": 0, "Total": 1 }
}

uip solution packages download​

Download a published package .zip from a feed. The package must be Ready or Active.

Arguments​

  • <package-name> (required) — Solution package name. Use packages list to find available names.
  • [package-version] (optional) — Version to download. Can also be provided with --package-version; providing both with different values is an error. Latest is used if omitted.

Options​

LongValueDefaultDescription
--package-version <version>textlatestAlternative to the positional argument.
-d, --destination <path>pathcurrent directoryLocal .zip file path or directory. A trailing slash, ., or an existing directory is treated as a directory and the default filename <name>.<version>.zip is appended; otherwise the path is used as the exact output file.
--login-validity <minutes>minutes10Minimum minutes before token expiration to trigger a refresh.

Examples​

# Default filename in the current directory
uip solution packages download my-solution 1.0.0

# Latest version, specific output file
uip solution packages download my-solution -d ./out/my-solution.zip

# Promote a package across tenants: download from staging, publish to dev
uip login tenant set staging
uip solution packages download my-solution 1.0.0 -d ./out/my-solution_1.0.0.zip
uip login tenant set dev
uip solution publish ./out/my-solution_1.0.0.zip
# Default filename in the current directory
uip solution packages download my-solution 1.0.0

# Latest version, specific output file
uip solution packages download my-solution -d ./out/my-solution.zip

# Promote a package across tenants: download from staging, publish to dev
uip login tenant set staging
uip solution packages download my-solution 1.0.0 -d ./out/my-solution_1.0.0.zip
uip login tenant set dev
uip solution publish ./out/my-solution_1.0.0.zip

Data shape (--output json)​

{
  "Code": "SolutionPackagesDownload",
  "Data": {
    "Status": "Package downloaded",
    "PackageName": "my-solution",
    "PackageVersion": "1.0.0",
    "State": "Ready",
    "OutputPath": "./my-solution.1.0.0.zip",
    "FileName": "./my-solution.1.0.0.zip",
    "Size": 254318
  }
}
{
  "Code": "SolutionPackagesDownload",
  "Data": {
    "Status": "Package downloaded",
    "PackageName": "my-solution",
    "PackageVersion": "1.0.0",
    "State": "Ready",
    "OutputPath": "./my-solution.1.0.0.zip",
    "FileName": "./my-solution.1.0.0.zip",
    "Size": 254318
  }
}

Failure modes​

  • Package not in Ready/Active state. A Pending package fails with instructions to wait and retry; any other non-ready state points back to publishing the package again.
  • Conflicting versions. Passing both the positional [package-version] and --package-version with different values is rejected.

uip solution packages delete​

Delete a specific version of a published package from a feed. This is a permanent operation — there is no soft-delete.

Arguments​

  • <packageName> (required) — The package name, as returned by packages list.
  • <packageVersion> (required) — The exact version to delete (for example 1.0.0).

Options​

LongValueDefaultDescription
-y, --yesflag—Required. Confirms this irreversible operation — the CLI never prompts.
--personal-workspaceflagoffDelete the package version from the current user's Personal Workspace feed. Mutually exclusive with --feed.
--feed <name-or-key>text—Delete the package version from this feed (name or folder key). Mutually exclusive with --personal-workspace.
--login-validity <minutes>minutes10Minimum minutes before token expiration to trigger a refresh.

Examples​

uip solution packages delete my-package 1.0.0 --yes

# Delete all versions older than a given major
uip solution packages list --limit 100 \
  --output-filter "Data[?packageName=='my-package' && starts_with(packageVersion, '0.')]" \
  --output json \
  | jq -r '.[] | .packageVersion' \
  | xargs -I{} uip solution packages delete my-package {} --yes
uip solution packages delete my-package 1.0.0 --yes

# Delete all versions older than a given major
uip solution packages list --limit 100 \
  --output-filter "Data[?packageName=='my-package' && starts_with(packageVersion, '0.')]" \
  --output json \
  | jq -r '.[] | .packageVersion' \
  | xargs -I{} uip solution packages delete my-package {} --yes

Data shape (--output json)​

{
  "Code": "SolutionPackagesDelete",
  "Data": {
    "PackageName": "my-package",
    "PackageVersion": "1.0.0"
  }
}
{
  "Code": "SolutionPackagesDelete",
  "Data": {
    "PackageName": "my-package",
    "PackageVersion": "1.0.0"
  }
}

Failure modes​

  • Missing -y, --yes. The command refuses without confirming — this is not a prompt, it's a hard requirement.
  • Package or version not found. Surfaces as a standard failure with instructions to verify the name and version against packages list (scoped to the same --personal-workspace/--feed, if used).
  • Insufficient permissions. The authenticated user must have permission to delete packages in the target feed.

See also​

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated