- Visão geral
- Introdução
- Conceitos
- Using UiPath CLI
- Guias de instruções
- CI/CD recipes
- Referência de comando
- Visão geral
- Códigos de saída
- Global options
- uip codedagent
- uip docsai
- add-test-data-entity
- add-test-data-queue
- add-test-data-variation
- analyze
- build
- criar projeto
- diff
- find-activities
- get-analyzer-rules
- get-default-activity-xaml
- get-errors
- get-manual-test-cases
- get-manual-test-steps
- get-versions
- get-workflow-example
- indicate-application
- indicate-element
- inspect-package
- install-data-fabric-entities
- install-or-update-packages
- list-data-fabric-entities
- list-workflow-examples
- pack
- restore
- run-file
- search-templates
- start-studio
- stop-execution
- uia
- uip traces
- Migração
- Reference & support
UiPath CLI user guide
Four options are recognized on every uip invocation, regardless of tool or subcommand. They control the output format, the output filter, and the log stream. All other flags are defined per-command.
| Opção | Short | Valor | Padrão | Finalidade |
|---|---|---|---|---|
--output | — | table, json, yaml, plain | json | Format of the primary output written to stdout. |
--output-filter | — | JMESPath expression | — | Post-filter applied to the JSON payload before formatting. |
--log-level | — | debug, info, warn, error | info | Verbosity of log messages written to stderr (and --log-file if set). |
--log-file | — | Path | — | If set, logs are duplicated to this file in JSON Lines format. |
--version (-v) and --help (-h) are also recognized on uip and every subcommand, but they are standard CLI conventions rather than global flags in the sense above.
--saída
Choose the output format. Both --output json and --output=json work; values are case-sensitive.
uip or folders list # default: json
uip or folders list --output table # human-friendly table
uip or folders list --output yaml # yaml
uip or folders list --output plain # key=value lines, no structure
uip or folders list # default: json
uip or folders list --output table # human-friendly table
uip or folders list --output yaml # yaml
uip or folders list --output plain # key=value lines, no structure
json(default) — one JSON document on stdout. Parseable byjq,--output-filter, and any JSON consumer. This is the default for every invocation regardless of whether the terminal is a TTY.table— bordered, colored table suitable for reading in a terminal. Not stable across versions — do not parse it.yaml— YAML serialization of the same structure asjson.plain— flatkey=valuelines. Useful for piping into shellread,grep, andcutwithout installingjq.
The default is json, not table. When a human runs uip or folders list in a terminal they see a JSON document on stdout. Pass --output table explicitly (or add it to a shell alias) for the reading-friendly view. This choice keeps the same stdout shape in a terminal and in a pipeline — scripts do not need to care whether they are running interactively.
Stream separation
--output controls stdout only. Logs, progress indicators, and human-facing errors go to stderr, regardless of format. This means a pipeline can capture clean JSON with:
uip or folders list > folders.json 2> uip.log
uip or folders list > folders.json 2> uip.log
…and still see the log output separately.
--output-filter
Apply a JMESPath expression to the JSON payload before formatting. The filter runs on the full response envelope, so Data[*].Name picks names out of the Data array, length(Data) returns a count, and so on.
# just the Data field
uip or folders list --output-filter "Data"
# folder names only
uip or folders list --output-filter "Data[*].Name"
# count
uip or folders list --output-filter "length(Data)"
# first folder's key and name
uip or folders list --output-filter "Data[0] | {key: Key, name: Name}"
# just the Data field
uip or folders list --output-filter "Data"
# folder names only
uip or folders list --output-filter "Data[*].Name"
# count
uip or folders list --output-filter "length(Data)"
# first folder's key and name
uip or folders list --output-filter "Data[0] | {key: Key, name: Name}"
Combining with --output:
# names as YAML
uip or folders list --output-filter "Data[*].Name" --output yaml
# names as one-per-line plain text
uip or folders list --output-filter "Data[*].Name" --output plain
# names as YAML
uip or folders list --output-filter "Data[*].Name" --output yaml
# names as one-per-line plain text
uip or folders list --output-filter "Data[*].Name" --output plain
A malformed filter expression fails fast with a ValidationError and exit code 3 before the underlying command runs — so a typo does not waste an API call.
--output-filter is the CLI's version of Azure CLI's --query, AWS CLI's --query, and gcloud's --filter/--format. If you already know JMESPath from those tools, the syntax is identical.
--log-level
Set the verbosity of log messages (written to stderr and to --log-file if provided).
uip or folders list --log-level debug # verbose — HTTP calls, auth refresh, tool loading
uip or folders list --log-level info # default
uip or folders list --log-level warn
uip or folders list --log-level error # only failures
uip or folders list --log-level debug # verbose — HTTP calls, auth refresh, tool loading
uip or folders list --log-level info # default
uip or folders list --log-level warn
uip or folders list --log-level error # only failures
Values are case-insensitive. Unknown values are silently ignored (the default is kept) rather than erroring — on purpose, so a typo in a wrapper script does not break a pipeline.
The UIPATH_LOG_LEVEL environment variable is not honored; pass the flag or set it in a profile script.
--log-file
Write a duplicate of the log stream to the specified file, in JSON Lines format (one JSON object per line). The file is appended — use a build-specific path if you need separate logs per run.
uip or folders list --log-file ./uip.log
uip or folders list --log-file /var/log/uip/$(date +%F).log --log-level debug
uip or folders list --log-file ./uip.log
uip or folders list --log-file /var/log/uip/$(date +%F).log --log-level debug
Each line in the file looks like:
{"time":"2026-04-24T18:42:00.123Z","level":"info","message":"CLI v1.0.0 starting — output=json, logLevel=info, logFile=./uip.log"}
{"time":"2026-04-24T18:42:00.123Z","level":"info","message":"CLI v1.0.0 starting — output=json, logLevel=info, logFile=./uip.log"}
This format is designed for log shippers (Fluent Bit, Loki, Splunk) and for post-mortem analysis.
Where global options apply
Global options are stripped from the command line before per-command flags are parsed, so they can appear anywhere on the command line:
uip --output table or folders list
uip or --output table folders list
uip or folders list --output table
uip or folders list --output=table
uip --output table or folders list
uip or --output table folders list
uip or folders list --output table
uip or folders list --output=table
All four invocations are equivalent.
Tool subcommands do not define their own --output or --log-level. A tool that inadvertently defined one would shadow the global flag — the CLI's lint checks forbid this.
Códigos de saída
Global options control output and logging only; they do not affect exit codes. See Exit codes.
Veja também
- Output formats (table, JSON, YAML) — deeper coverage with full examples of each format.
- Scripting patterns — exit codes, stream separation, retries, polling.
- uip login reference and other command pages — document their per-command flags in addition to these globals.