UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip solution cleanup

Syntax and options for `uip solution cleanup`, which removes unused items from every project in a UiPath solution.

uip solution cleanup removes unused items (activities, dependencies) from every project in a solution. For a solution directory, project sources are modified in place; pass --dry-run to only detect unused items without changing anything.

Synopsis

uip solution cleanup <solutionPath> [--dry-run] [--skip-imports] [--nuget-sources-config-path <path>] [--exclude-configured-sources] [--feed-folder <name>] [--login-validity <minutes>]
uip solution cleanup <solutionPath> [--dry-run] [--skip-imports] [--nuget-sources-config-path <path>] [--exclude-configured-sources] [--feed-folder <name>] [--login-validity <minutes>]

Arguments

NameRequiredPurpose
<solutionPath>yesPath to a solution directory (containing .uipx) or a .uis file.

Options

LongValueDefaultDescription
--dry-runflagoffDetect unused items but don't modify any project files.
--skip-importsflagoffDon't clean up now-unused references to removed items in the project's files.
--nuget-sources-config-pathpathPath to a NuGet sources configuration file.
--exclude-configured-sourcesflagoffResolve project dependencies only from tenant feeds and --nuget-sources-config-path. Drops the built-in UiPath and nuget.org feeds — a dependency not on those feeds fails to restore.
--feed-foldername or pathResolve project dependencies from this Orchestrator folder's library feed instead of every tenant feed.
--login-validityminutes10Minimum minutes before token expiration to trigger a refresh.

Examples

# Remove unused items from every project, modifying files in place
uip solution cleanup ./my-solution

# Detect without modifying anything
uip solution cleanup ./my-solution --dry-run
# Remove unused items from every project, modifying files in place
uip solution cleanup ./my-solution

# Detect without modifying anything
uip solution cleanup ./my-solution --dry-run

Data shape (--output json)

{
  "Code": "SolutionCleanup",
  "Data": {
    "DryRun": false,
    "ChangedFilesByProject": {
      "project-design-id": ["project.json", "Main.xaml"]
    },
    "CleanupByProject": {
      "project-design-id": {
        "unusedItems": ["UiPath.Stale.Activities"],
        "cleanedFiles": ["Main.xaml"]
      }
    }
  }
}
{
  "Code": "SolutionCleanup",
  "Data": {
    "DryRun": false,
    "ChangedFilesByProject": {
      "project-design-id": ["project.json", "Main.xaml"]
    },
    "CleanupByProject": {
      "project-design-id": {
        "unusedItems": ["UiPath.Stale.Activities"],
        "cleanedFiles": ["Main.xaml"]
      }
    }
  }
}

With --dry-run, ChangedFilesByProject is empty and each project's cleanedFiles stays empty, since nothing was written.

Exit codes

See Exit codes for the shared contract.

See also

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated