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>textServer-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>textOnly 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, --yesflagRequired. 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>textDelete 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