UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

Configuration

Configuration reference for UiPath CLI, covering environment variables, command-line flags, and precedence rules.

UiPath CLI is configured through command-line flags, environment variables, and a local configuration file. Flags are for a single invocation; environment variables suit CI runners and containers; the configuration file holds defaults that persist across invocations on one machine (output format, log level, and the version/update-channel policy).

Configuration sources

In order of precedence, from most specific to most general:

  1. Command-line flag--tenant, --authority, --client-id, --output, --log-level, etc. Flags take precedence over every other source.
  2. Environment variable — variables read by the CLI at runtime (see Environment variables). The CLI reads each variable only at the points documented; there is no implicit "every flag has an env-var counterpart" rule.
  3. Configuration file.uipath/config.json, discovered by walking up from the current directory to $HOME, falling back to ~/.uipath/config.json. Managed via uip config get|set|clear; holds output, logLevel, interactive, updateChannel, and version. See uip config for the full key reference.
  4. Hard-coded defaultshttps://cloud.uipath.com for the authority, json for output format, info for log level, page size of 50 on list verbs.

Environment variables

Environment variables are the primary mechanism for configuring the CLI in CI runners, containers, and per-shell developer setups. Set them in the runner's environment (or in a .env file consumed by your runner), and the CLI reads them at the points documented below.

VariableRead byPurpose
UIPATH_URLuip login, every authenticated commandOverride the identity authority base URL. Default is https://cloud.uipath.com.
UIPATH_CLI_ENABLE_ENV_AUTHEvery authenticated commandSet to literal true to switch the CLI from the file-based credentials flow to environment-variable auth. With this gate on, the CLI reads the access token + tenant + organization from the variables below and bypasses the ~/.uipath/ credentials folder entirely. See Authentication — Flow 3.
UIPATH_CLI_AUTH_TOKENenv-var auth flow onlyJWT access token. The server URL is derived from the token's iss claim.
UIPATH_CLI_ORGANIZATION_NAMEenv-var auth flow onlyOrganization slug.
UIPATH_CLI_ORGANIZATION_IDenv-var auth flow onlyOrganization UUID.
UIPATH_CLI_TENANT_NAMEenv-var auth flow onlyTenant slug.
UIPATH_CLI_TENANT_IDenv-var auth flow onlyTenant UUID.
UIPATH_TELEMETRY_DISABLEDTelemetry initSet to 1 or true to opt out of anonymous usage telemetry.
UIPATH_AI_CONNECTION_STRINGTelemetry initOverride the Application Insights connection string.
HTTP_PROXY / http_proxyNetwork layerHTTP proxy for outbound requests (host and tools).
UIPATH_PROXY_INTEGRATED_AUTHNetwork layerSet to literal true to authenticate the proxy CONNECT tunnel with Windows Integrated Authentication — Kerberos/Negotiate or NTLM single sign-on. Without the opt-in the CLI supports no-auth and Basic proxies only. Available from 1.201.0.
UIPATH_PROXY_USER / UIPATH_PROXY_PASSWORD / UIPATH_PROXY_DOMAINNetwork layerAuthenticate the proxy as a specific account rather than the logged-in user. Credentials may also be supplied as user:pass@ in the proxy URL. Supplying them excludes ambient SSO, so a wrong password fails rather than silently falling back. Available from 1.201.0.
HTTPS_PROXY / https_proxyNetwork layerHTTPS proxy.
NO_PROXY / no_proxyNetwork layerProxy bypass list.
UIP_DEFAULT_OUTPUTOutput formattingOverrides the built-in json default when --output is not passed. Accepts table, json, yaml, plain, or markdown; an explicit --output on the command line always wins.
UIP_TIMINGSTiming instrumentationSet to 1 or true to print a per-invocation timing line to stderr (total, startup, command, http/httpCalls, flush). See Global options — Command timings.
NO_COLORTerminal outputAny value forces color off in --output table, overriding TTY auto-detection.
FORCE_COLORTerminal outputForces color on, even when stdout is not a TTY (e.g. piped output you still want colored). Checked before TTY detection, alongside NO_COLOR.

For non-secret values that vary between deployments (tenant, organization, folder name), pass them as variables in your CI runner and reference them in uip commands:

env:
  UIPATH_TENANT: Production
  UIPATH_FOLDER: Shared
script:
  - uip login --client-id env.UIPATH_CLIENT_ID --client-secret env.UIPATH_CLIENT_SECRET --tenant "$UIPATH_TENANT"
  - uip or folders list --all --path "$UIPATH_FOLDER"
env:
  UIPATH_TENANT: Production
  UIPATH_FOLDER: Shared
script:
  - uip login --client-id env.UIPATH_CLIENT_ID --client-secret env.UIPATH_CLIENT_SECRET --tenant "$UIPATH_TENANT"
  - uip or folders list --all --path "$UIPATH_FOLDER"
Warning:

No implicit reading of UIPATH_CLIENT_ID / UIPATH_CLIENT_SECRET

Setting UIPATH_CLIENT_ID and UIPATH_CLIENT_SECRET in the environment alone does not authenticate the CLI. Pre-1.0 versions read these implicitly; that behavior was removed. Pass them explicitly using the env.VAR_NAME prefix on --client-id / --client-secret, or use the env-var auth flow above for token-based authentication. See Authentication.

Where each setting can live

SettingFlagEnv varDefault
Authority / base URL--authority <url>UIPATH_URLhttps://cloud.uipath.com
External App client ID--client-id <id>(set via flag with env.VAR_NAME prefix)none
External App client secret--client-secret <secret>(set via flag with env.VAR_NAME prefix)none
Tenant--tenant <name> (or session)from session
Folder--folder-path / --folder-key per commandnone
Output format--output <format>json
Output filter--output-filter <jmespath>none
Log level--log-level <level>info
Log file--log-file <path>none
npm registry for tools.npmrc @uipath:registry (if set), else npm default
TelemetryUIPATH_TELEMETRY_DISABLED=1enabled

Settings without an env-var column can only be set per command via flags.

Example setups

Minimal CI runner (everything via env)

env:
  UIPATH_URL: https://cloud.uipath.com
  UIPATH_CLIENT_ID: ${{ secrets.UIPATH_CLIENT_ID }}
  UIPATH_CLIENT_SECRET: ${{ secrets.UIPATH_CLIENT_SECRET }}
  UIPATH_TENANT: Production
  UIPATH_TELEMETRY_DISABLED: "1"

steps:
  - run: npm install -g @uipath/cli
  - run: uip tools install @uipath/orchestrator-tool @uipath/solution-tool
  - run: |
      uip login \
        --client-id env.UIPATH_CLIENT_ID \
        --client-secret env.UIPATH_CLIENT_SECRET \
        --tenant "$UIPATH_TENANT"
  - run: uip or folders list
env:
  UIPATH_URL: https://cloud.uipath.com
  UIPATH_CLIENT_ID: ${{ secrets.UIPATH_CLIENT_ID }}
  UIPATH_CLIENT_SECRET: ${{ secrets.UIPATH_CLIENT_SECRET }}
  UIPATH_TENANT: Production
  UIPATH_TELEMETRY_DISABLED: "1"

steps:
  - run: npm install -g @uipath/cli
  - run: uip tools install @uipath/orchestrator-tool @uipath/solution-tool
  - run: |
      uip login \
        --client-id env.UIPATH_CLIENT_ID \
        --client-secret env.UIPATH_CLIENT_SECRET \
        --tenant "$UIPATH_TENANT"
  - run: uip or folders list

Container with a pre-issued token (env-var auth flow)

export UIPATH_CLI_ENABLE_ENV_AUTH=true
export UIPATH_CLI_AUTH_TOKEN="$BUILD_TOKEN"
export UIPATH_CLI_ORGANIZATION_NAME=contoso
export UIPATH_CLI_ORGANIZATION_ID="$ORG_UUID"
export UIPATH_CLI_TENANT_NAME=Default
export UIPATH_CLI_TENANT_ID="$TENANT_UUID"

uip or folders list
export UIPATH_CLI_ENABLE_ENV_AUTH=true
export UIPATH_CLI_AUTH_TOKEN="$BUILD_TOKEN"
export UIPATH_CLI_ORGANIZATION_NAME=contoso
export UIPATH_CLI_ORGANIZATION_ID="$ORG_UUID"
export UIPATH_CLI_TENANT_NAME=Default
export UIPATH_CLI_TENANT_ID="$TENANT_UUID"

uip or folders list

No uip login step, no file written. Every command authenticates from the env vars.

See also

  • Authentication — the auth flows and which env vars each one reads.
  • Installing UiPath CLI — proxy variables, telemetry opt-out, and CI install patterns.
  • Sessions and credentials — the .uipath/ credentials folder written by uip login.
  • Global options — flags that override environment variables per invocation.
  • uip config — the .uipath/config.json file, its full key reference, and the get/set/clear commands that manage it.

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated