CLI Reference¶
auth¶
Authenticate with UiPath Cloud Platform.
The authentication domain is determined in the following order:
- The
UIPATH_URLenvironment variable (if set). - A flag:
--cloud(default),--staging, or--alpha.
Modes:
- Interactive (default): Opens a browser window for OAuth authentication.
- Unattended: Uses the client credentials flow. Requires
--client-id,--client-secret,--base-url, and--scope.
Environment Variables:
HTTP_PROXY/HTTPS_PROXY/NO_PROXY— proxy configuration.REQUESTS_CA_BUNDLE— path to a custom CA bundle for SSL verification.UIPATH_DISABLE_SSL_VERIFY— disables SSL verification (not recommended).
Examples:
Interactive login (opens browser for OAuth):
$ uipath auth
Unattended login using client credentials:
$ uipath auth --base-url https://cloud.uipath.com/organization/tenant --client-id 00000000-0000-0000-0000-000000000000 --client-secret 'secret_value_here'
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--cloud |
text | Use production environment | Sentinel.UNSET |
--staging |
text | Use staging environment | Sentinel.UNSET |
--alpha |
text | Use alpha environment | Sentinel.UNSET |
-f, --force |
boolean | Force new token | False |
--client-id |
text | Client ID for client credentials authentication (unattended mode) | Sentinel.UNSET |
--client-secret |
text | Client secret for client credentials authentication (unattended mode) | Sentinel.UNSET |
--base-url |
text | Base URL for the UiPath tenant instance (required for client credentials) | Sentinel.UNSET |
--tenant |
text | Tenant name within UiPath Automation Cloud | Sentinel.UNSET |
--scope |
text | Space-separated list of OAuth scopes to request (e.g., 'OR.Execution OR.Queues'). Defaults to 'OR.Execution' | OR.Execution |
--help |
boolean | Show this message and exit. | False |
UiPath Automation Suite
For UiPath Automation Suite deployments, you must set the UIPATH_URL environment variable to your dedicated instance URL before running this command.
Example:
You can set this environment variable either:
- In a .env file in your project directory
- As a system-wide environment variable
🔗 If a browser window did not open, please open the following URL in your browser: [LINK]
👇 Select tenant:
0: Tenant1
1: Tenant2
Select tenant number: 0
Selected tenant: Tenant1
✓ Authentication successful.
init¶
Initialize the project.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--no-agents-md-override |
boolean | Won't override existing .agent files and AGENTS.md file. | False |
--help |
boolean | Show this message and exit. | False |
Initializes a UiPath project by generating all required configuration and metadata files. Run this command when setting up a new project and after modifying your agent's or function's input/output schema.
Generated Files¶
| File | Description |
|---|---|
uipath.json |
Project configuration with entrypoint definitions |
bindings.json |
Resource bindings (assets, processes, buckets, etc.) |
entry-points.json |
Entry point definitions with input/output schemas |
project.uiproj |
Project metadata for StudioWeb integration |
.uipath/studio_metadata.json |
Studio metadata (schema and code version) |
.env |
Environment variables file |
AGENTS.md, CLAUDE.md |
Agent documentation and coding assistant instructions |
.agent/CLI_REFERENCE.md, .agent/SDK_REFERENCE.md, .agent/REQUIRED_STRUCTURE.md |
Agent reference docs |
Warning
The uipath.json file should include your entry points in the functions section:
Running uipath init will process these function definitions and create the corresponding entry-points.json file needed for deployment.
✓ Created 'uipath.json' file.
✓ Created 'bindings.json' file.
✓ Created 'entry-points.json' file with 1 entrypoint(s).
✓ Created 1 mermaid diagram file(s).
✓ Updated 'project.uiproj' file.
✓ Created '.uipath/studio_metadata.json' file.
✓ Created: CLAUDE.md, CLI_REFERENCE.md, SDK_REFERENCE.md, AGENTS.md, REQUIRED_STRUCTURE.md.
run¶
Execute the project.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--resume |
boolean | Resume execution from a previous state | False |
-f, --file |
path | File path for the .json input | Sentinel.UNSET |
--input-file |
path | Alias for '-f/--file' arguments | Sentinel.UNSET |
--output-file |
path | File path where the output will be written | Sentinel.UNSET |
--trace-file |
path | File path where the trace spans will be written (JSON Lines format) | Sentinel.UNSET |
--state-file |
path | File path where the state file is stored for persisting execution state. If not provided, a temporary file will be used. | Sentinel.UNSET |
--debug |
boolean | Enable debugging with debugpy. The process will wait for a debugger to attach. | False |
--debug-port |
integer | Port for the debug server (default: 5678) | 5678 |
--keep-state-file |
boolean | Keep the temporary state file even when not resuming and no job id is provided | False |
--help |
boolean | Show this message and exit. | False |
Tip
For step-by-step debugging with breakpoints and variable inspection (supported from 2.0.66 onward):
# Install debugpy package
uv pip install debugpy
# Run agent with debugging enabled
uipath run [ENTRYPOINT] [INPUT] --debug
.vscode/launch.json file.
2. Place breakpoints in your code where needed.
3. Use the shortcut F5, or navigate to Run -> Start Debugging -> Python Debugger: Attach.
Upon starting the debugging process, one should see the following logs in terminal:
Warning
Depending on the shell you are using, it may be necessary to escape the input json:
pack¶
Pack the project.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--nolock |
boolean | Skip running uv lock and exclude uv.lock from the package | False |
--help |
boolean | Show this message and exit. | False |
Packages your project into a .nupkg file that can be deployed to UiPath.
Info
Default Files Included in .nupkg¶
By default, the following file types are included in the .nupkg file:
.py.mermaid.json.yaml.yml
Including Extra Files¶
To include additional files, update the uipath.json file by adding a packOptions section. Use the following configuration format:
Warning
Your pyproject.toml must include:
- A description field (avoid characters: &, <, >, ", ', ;)
- Author information
Example:
Name : test
Version : 0.1.0
Description: Add your description here
Authors : Your Name
✓ Project successfully packaged.
publish¶
Publish the package.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--tenant, -t |
text | Whether to publish to the tenant package feed | Sentinel.UNSET |
--my-workspace, -w |
text | Whether to publish to the personal workspace | Sentinel.UNSET |
--folder, -f |
text | Folder name to publish to (skips interactive selection) | Sentinel.UNSET |
--help |
boolean | Show this message and exit. | False |
Warning
To properly use the CLI for packaging and publishing, your project should include:
- A
pyproject.tomlfile with project metadata - A
uipath.jsonfile (generated byuipath init) - Any Python files needed for your automation
👇 Select package feed:
0: Orchestrator Tenant Processes Feed
1: Orchestrator Personal Workspace Feed
Select feed number: 0
Selected feed: Orchestrator Tenant Processes Feed
⠸ Publishing most recent package: test.0.1.0.nupkg ...
✓ Package published successfully!
deploy¶
Pack and publish the project.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--tenant, -t |
text | Whether to publish to the tenant package feed | Sentinel.UNSET |
--my-workspace, -w |
text | Whether to publish to the personal workspace | Sentinel.UNSET |
--folder, -f |
text | Folder name to publish to (skips interactive selection) | Sentinel.UNSET |
--help |
boolean | Show this message and exit. | False |
invoke¶
Invoke an agent published in my workspace.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-f, --file |
path | File path for the .json input | Sentinel.UNSET |
--help |
boolean | Show this message and exit. | False |
⠴ Starting job ...
✨ Job started successfully!
🔗 Monitor your job here: [LINK]
push¶
Push local project files to Studio Web.
This command pushes the local project files to a UiPath Studio Web project. It ensures that the remote project structure matches the local files by:
- Updating existing files that have changed
- Uploading new files
- Deleting remote files that no longer exist locally
- Optionally managing the UV lock file
Environment Variables:
UIPATH_PROJECT_ID: Required. The ID of the UiPath Cloud project
Example:
$ uipath push
$ uipath push --nolock
$ uipath push --overwrite
$ uipath push --ignore-resources
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--ignore-resources |
boolean | Skip importing the referenced resources to Studio Web solution | False |
--nolock |
boolean | Skip running uv lock and exclude uv.lock from the package | False |
--overwrite |
boolean | Automatically overwrite remote files without prompts | False |
--help |
boolean | Show this message and exit. | False |
Uploading 'main.py'
Uploading 'uipath.json'
Updating 'pyproject.toml'
Uploading '.uipath/studio_metadata.json'
Importing referenced resources to Studio Web project...
🔵 Resource import summary: 0 total resources - 0 created, 0 updated, 0 unchanged, 0 not found
pull¶
Pull remote project files from Studio Web.
This command pulls the remote project files from a UiPath Studio Web project.
Environment Variables: UIPATH_PROJECT_ID: Required. The ID of the UiPath Studio Web project
Example:
$ uipath pull
$ uipath pull /path/to/project
$ uipath pull --overwrite
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--overwrite |
boolean | Automatically overwrite local files without prompts | False |
--help |
boolean | Show this message and exit. | False |
Processing: main.py
Updated 'main.py'
Processing: uipath.json
File 'uipath.json' is up to date
✓ Project pulled successfully