# Using UiPath CLI overview

> The "Using UiPath CLI" section is the day-to-day operating manual: how to authenticate, configure defaults, choose an output format, write robust scripts, and manage tools and skills. Each page is a thin focused topic — pick the one that matches your current question.

The "Using UiPath CLI" section is the day-to-day operating manual: how to authenticate, configure defaults, choose an output format, write robust scripts, and manage tools and skills. Each page is a thin focused topic — pick the one that matches your current question.

If you don't yet have a working install, start at [Installing UiPath CLI](./installing-uipath-cli.md) and [Quickstart](./quickstart.md). For end-to-end task walkthroughs (pack a solution, deploy from CI, run tests), see [How-to guides](./howto-overview.md).

## The six pages

| Page | What it covers | Read it when |
|---|---|---|
| [Authentication](./authentication.md) | The three auth flows: interactive OAuth2, External App client credentials, environment-variable auth. The `env.VAR_NAME` prefix. | First — everything else assumes a logged-in session. |
| [Configuration (uipath.config.json)](./configuration.md) | Per-project and per-user config files, every recognized environment variable, the precedence chain (flag → env → config → default). | When you want to pin defaults (tenant, authority, output format) without typing them on every command. |
| [Output formats (table, JSON, YAML)](./output-formats.md) | The four output formats and the JSON envelope (`Result`, `Code`, `Data`). JMESPath filtering with `--output-filter`. | When a script needs to extract a specific field, or when you want a human-readable table. |
| [Scripting patterns](./scripting-patterns.md) | Strict shell options, branching on exit codes, polling, idempotent pipelines, separating data from logs. | When you are writing a CI pipeline or a long-running automation script. |
| [Managing tools and skills](./managing-tools-and-skills.md) | Day-to-day install / update / uninstall workflows, drift auditing, version pinning. | When you upgrade the CLI or add a new tool to a project. |
| [Using UiPath CLI with Coding Agents](./coding-agents.md) | Per-agent setup walkthroughs (Claude Code, Cursor, GitHub Copilot, Gemini CLI, Codex, OpenCode). | When you want an AI agent to build automations with `uip` for you. |

## Recommended reading order

For a developer setting up a new machine:

1. **Authentication** — get a session.
2. **Configuration** — pin tenant and authority so you don't repeat them.
3. **Output formats** — at least skim, so you know JSON is the default and `--output table` is the human view.
4. **Scripting patterns** — skim now; deep-dive when you write your first script.

For a CI/CD engineer wiring up a pipeline:

1. **Authentication** → Flow 2 (External App).
2. **Scripting patterns** → exit codes, retry on `2`, polling.
3. **Configuration** → per-project `uipath.config.json` for shared defaults.
4. **Managing tools and skills** → pre-install tools to keep build times deterministic.

For someone integrating an AI coding agent:

1. **Using UiPath CLI with Coding Agents** — pick your agent.
2. **Authentication** — confirm the agent inherits your session.
3. **Output formats** — agents work best with JSON; pin `--output json` in skill prompts.

## See also

- [Concepts](./concepts-overview.md) — the architectural background that "Using" assumes you already understand.
- [Command reference](./command-reference.md) — per-command flag lists when "Using" sends you looking for a specific option.
- [How-to guides](./howto-overview.md) — task-oriented walkthroughs that combine pages from this section.
