- 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 model-hub
- add-test-data-entity
- add-test-data-queue
- add-test-data-variation
- analyze
- build
- create-project
- diff
- find-activities
- get-analyzer-rules
- get-default-activity-xaml
- get-errors
- get-manual-test-cases
- get-manual-test-steps
- get-library-object-repository
- get-object-repository
- get-versions
- get-workflow-example
- indicate-application
- indicate-element
- inspect-package
- install-data-fabric-entities
- install-or-update-packages
- list-data-fabric-entities
- list-instances
- list-workflow-examples
- pack
- publish
- remote
- restore
- run, debug & execution
- run-file
- search-templates
- start-studio
- stop-execution
- tm
- uia
- uip tasks
- uip traces
- uip traces feedback
- Migration
- Reference & support
Core commands in UiPath CLI that require no tool installation, covering authentication, tool lifecycle, skills, MCP bridge, and shell completion.
The core command surface is everything the host (@uipath/cli) ships with β no tool installation needed. These commands manage authentication, tool lifecycle, AI-coding-agent skills, the MCP bridge, and shell completion. Every command on this page is available the moment npm install -g @uipath/cli finishes.
For commands that talk to a UiPath surface (Orchestrator, Solutions, Agents, etc.), see the per-tool reference pages β each is provided by a separate npm package that the host loads on demand.
The host commandsβ
The CLI host registers 11 top-level commands (uip track is hidden internal telemetry and isn't user-facing β the other 10 are):
| Command | Purpose | Login required |
|---|---|---|
uip login | Authenticate via interactive OAuth2, External App, environment variables, or federated/workload-identity; switch tenants. Writes a session to .uipath/.auth. | β |
uip logout | Remove the credentials file. | β |
uip login status | Show the current org, tenant, expiry, and which credentials file the CLI is reading. | Optional (reports Not logged in otherwise) |
uip config | Get, set, and clear local CLI configuration values (including the version-pin uip tools update reads). | β |
uip user | Show the identity of the currently authenticated user. | Yes |
uip feedback | Send feedback about the CLI. | β |
uip tools | List, search, install, update, uninstall the installable tools (Orchestrator, Solution, Agent, Test Manager, β¦). | β |
uip skills | Install UiPath skills into AI coding agents. | β |
uip mcp | Expose the CLI as a Model Context Protocol server over stdio. | Per run_command (inherits the file-based session). |
uip update | Self-update the CLI, its installed tools, and installed skills. | β |
uip completion | Install or print shell tab completion (bash, zsh, fish, pwsh). | β |
Synopsisβ
uip login [--tenant <name>] [--organization <name>] [--authority <url>] [--client-id <id>] [--client-secret <secret> | --client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status [-f <folder>]
uip login refresh [--login-validity <minutes>]
uip login which [-f <folder>]
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip logout [-f <folder>]
uip config get / set / clear <key>
uip user
uip feedback send
uip tools list / search / install / update / uninstall β¦
uip skills list / search / show / install / update / uninstall --agent <name>
uip mcp serve
uip update [--dry-run] [--tools-only] [--skills-only]
uip completion [shell] [--print] [--uninstall]
uip login [--tenant <name>] [--organization <name>] [--authority <url>] [--client-id <id>] [--client-secret <secret> | --client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status [-f <folder>]
uip login refresh [--login-validity <minutes>]
uip login which [-f <folder>]
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip logout [-f <folder>]
uip config get / set / clear <key>
uip user
uip feedback send
uip tools list / search / install / update / uninstall β¦
uip skills list / search / show / install / update / uninstall --agent <name>
uip mcp serve
uip update [--dry-run] [--tools-only] [--skills-only]
uip completion [shell] [--print] [--uninstall]
Every command also honors the global --interactive/--no-interactive flag (see Global options) β there is no command-specific short form for it.
All core commands honor the global options (--output, --output-filter, --log-level, --log-file, --profile, --interactive/--no-interactive) and follow the standard exit-code contract.
How the core surface relates to toolsβ
Every other uip <tool> β¦ invocation runs on top of these:
- Authentication is established once with
uip loginand inherited by every subsequent tool call (Orchestrator, Solution, Agent, β¦). - Tool lifecycle (
uip tools install) controls which extension packages are loaded next time you invoke a tool prefix. - Skills sit beside tools β they teach AI agents how to use
uiprather than adding new commands. - MCP wraps the entire surface (core + installed tools) as a single MCP tool that any MCP-aware client can call.
- Completion discovers commands at install time, so re-run
uip completionafteruip tools installif you want completion for newly-added commands.
See How UiPath CLI is organized for the host-vs-tool architecture in depth.
Authentication shapeβ
Every core command except the auth commands themselves works without a session β they just talk to local files (config, manifest, completion script). The auth commands manage the session itself:
uip loginβ interactive OAuth2 (browser), External App (client credentials), environment-variable token, and federated/workload-identity (--client-assertion). See Authentication.--profilescopes the session to a named credential set, orthogonal to which flow you use.uip logoutβ removes the file. The env-var flow has nothing to clear.uip login statusβ reports the active session.uip login refreshβ proactively refreshes the access token and emits a machine-readable session payload for programmatic consumers.uip login whichβ prints where the active session/credential file was resolved from.uip login tenant list / setβ switch tenants without re-authenticating.
Tool commands inherit whatever session is on disk at the time of invocation; --tenant overrides per-call.
Where each command sends its outputβ
| Stream | Content |
|---|---|
| stdout | The structured JSON envelope (Result, Code, Data, β¦). One per invocation. |
| stderr | Logs (controlled by --log-level), progress indicators, and human-readable error text. Never machine-parseable JSON. |
The split is enforced everywhere; you can redirect them independently:
uip tools list > tools.json 2> uip.log
uip tools list > tools.json 2> uip.log
See Output formats for the five formats (json, table, yaml, plain, markdown) and JMESPath filtering.
See alsoβ
- Concepts: how UiPath CLI is organized β what "host" means and why core is split from tools.
- Concepts: tools (plugins) β the auto-install whitelist and version pinning.
- Concepts: skills β how
uip skills installextends AI agents. - Concepts: sessions and credentials β what
uip loginwrites and where. - Authentication β the auth flows in detail, including federated/workload-identity login.
- Global options, Exit codes β contracts shared by every command.