> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloud.red/llms.txt
> Use this file to discover all available pages before exploring further.

# devices

> Manage and interact with individual BIG-IP devices.

All `devices` commands accept a device **hostname or UUID**. crcli resolves hostnames automatically — no UUID hunting required.

## `devices list`

List all devices for your tenant.

```shell theme={null}
crcli devices list
```

**Flags:**

| Flag           | Description                                      |
| -------------- | ------------------------------------------------ |
| `-O, --output` | Output format: `table` (default), `json`, `yaml` |

## `devices get`

Show details for a single device.

```shell theme={null}
crcli devices get <device>
```

## `devices ssh`

Open an SSH session to a device.

```shell theme={null}
# Interactive terminal
crcli devices ssh <device>

# Run a single command
crcli devices ssh <device> -c "tmsh show sys version"

# Run a local script
crcli devices ssh <device> -S ./check_pools.sh

# Pipe a script via stdin
cat script.sh | crcli devices ssh <device>

# Multiple devices simultaneously
crcli devices ssh <device1> <device2> -c "uptime"
```

**Flags:**

| Flag            | Short | Description                                           |
| --------------- | ----- | ----------------------------------------------------- |
| `--command`     | `-c`  | Run a command string on the device                    |
| `--script`      | `-S`  | Execute a local script file                           |
| `--interpreter` | `-i`  | Interpreter for script execution (default: `bash`)    |
| `--group`       | `-g`  | Buffer output per device instead of interleaving      |
| `--output-dir`  |       | Save each device's output to a file in this directory |
| `--username`    | `-u`  | Log in with username/password instead of SSO          |

## `devices web`

Open the BIG-IP TMUI web console in your browser, authenticated via SSO.

```shell theme={null}
crcli devices web <device>

# Print the URL instead of opening the browser
crcli devices web <device> -n
```

**Flags:**

| Flag           | Short | Description                                  |
| -------------- | ----- | -------------------------------------------- |
| `--no-browser` | `-n`  | Print the URL instead of opening the browser |
| `--username`   | `-u`  | Log in with username/password instead of SSO |

## `devices push`

Upload one or more files to a device.

```shell theme={null}
crcli devices push <device> ./file.conf
crcli devices push <device> ./file1.conf ./file2.conf

# Specify a remote destination path
crcli devices push <device> ./bigip.conf:/config/bigip.conf
```

## `devices pull`

Download one or more files from a device.

```shell theme={null}
crcli devices pull <device> /config/bigip.conf

# Save to a specific directory
crcli devices pull <device> /config/bigip.conf -o ./configs/

# Multiple files at once
crcli devices pull <device> /config/bigip.conf /config/bigip_base.conf -o ./configs/
```

**Flags:**

| Flag       | Short | Description                                       |
| ---------- | ----- | ------------------------------------------------- |
| `--output` | `-o`  | Directory to save downloaded files (default: `.`) |

## `devices icontrol`

Create an authenticated iControl REST session and print the URL and token.

```shell theme={null}
crcli devices icontrol <device>
```

Paste the printed URL and token into your HTTP client or automation script.

## `devices backups`

List configuration backups for a device.

```shell theme={null}
crcli devices backups <device>
```

## `whoami`

Show your authenticated user details.

```shell theme={null}
crcli whoami
```

## Global Flags

All commands support these global flags:

| Flag             | Short | Description                              |
| ---------------- | ----- | ---------------------------------------- |
| `--env`          | `-e`  | Environment: `prod` (default), `staging` |
| `--output`       | `-O`  | Output format: `table`, `json`, `yaml`   |
| `--debug`        | `-d`  | Print HTTP request/response details      |
| `--no-telemetry` |       | Disable usage analytics                  |
