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

# Device Commands

> Manage physical iOS, iPadOS, watchOS, tvOS, and visionOS devices

FlowDeck provides physical device management via USB and WiFi. Alias: `dev`.

## flowdeck device list

List connected physical devices (and virtual macOS targets).

```bash theme={null}
# List all connected devices
flowdeck device list

# Filter by platform
flowdeck device list -P iOS
flowdeck device list --platform iOS

# Show only available devices
flowdeck device list -A
flowdeck device list --available-only

# JSON output
flowdeck device list --json

# Show usage examples
flowdeck device list --examples
```

### Options

| Option              | Short | Description                                              |
| ------------------- | ----- | -------------------------------------------------------- |
| `--examples`        | `-e`  | Show usage examples                                      |
| `--platform <name>` | `-P`  | Filter by platform: iOS, iPadOS, watchOS, tvOS, visionOS |
| `--available-only`  | `-A`  | Show only available devices                              |
| `--json`            | `-j`  | Output as JSON                                           |

### JSON Output

```json theme={null}
[
  {
    "name": "My Mac",
    "platform": "macOS",
    "isAvailable": true,
    "isVirtual": true,
    "description": "Build and run as native macOS app"
  },
  {
    "name": "My Mac Catalyst",
    "platform": "macOS",
    "isAvailable": true,
    "isVirtual": true,
    "description": "Build and run iOS app via Mac Catalyst"
  },
  {
    "udid": "00008030-001234567890ABCD",
    "name": "John's iPhone",
    "platform": "iOS",
    "osVersion": "18.1",
    "deviceType": "iPhone 16 Pro",
    "connectionType": "USB",
    "isAvailable": true,
    "isVirtual": false
  }
]
```

***

## flowdeck device install

Install an app bundle (.app) on a physical device.

```bash theme={null}
# Install app on device
flowdeck device install <UDID> /path/to/MyApp.app

# Install with verbose output
flowdeck device install <UDID> /path/to/MyApp.app --verbose

# Install with JSON output
flowdeck device install <UDID> /path/to/MyApp.app --json
```

### Options

| Option       | Short | Description         |
| ------------ | ----- | ------------------- |
| `--verbose`  | `-v`  | Show command output |
| `--json`     | `-j`  | Output as JSON      |
| `--examples` | `-e`  | Show usage examples |

***

## flowdeck device uninstall

Remove an installed app from a physical device.

```bash theme={null}
# Uninstall app from device
flowdeck device uninstall <UDID> com.example.MyApp

# Uninstall with verbose output
flowdeck device uninstall <UDID> com.example.MyApp --verbose

# Uninstall with JSON output
flowdeck device uninstall <UDID> com.example.MyApp --json
```

### Options

| Option       | Short | Description         |
| ------------ | ----- | ------------------- |
| `--verbose`  | `-v`  | Show command output |
| `--json`     | `-j`  | Output as JSON      |
| `--examples` | `-e`  | Show usage examples |

***

## flowdeck device launch

Launch an installed app on a physical device.

```bash theme={null}
# Launch app on device
flowdeck device launch <UDID> com.example.MyApp

# Launch with verbose output
flowdeck device launch <UDID> com.example.MyApp --verbose

# Launch with JSON output
flowdeck device launch <UDID> com.example.MyApp --json
```

### Options

| Option       | Short | Description         |
| ------------ | ----- | ------------------- |
| `--verbose`  | `-v`  | Show command output |
| `--json`     | `-j`  | Output as JSON      |
| `--examples` | `-e`  | Show usage examples |

<Tip>
  Use `flowdeck device list --json` to get device UDIDs.
</Tip>
