CLI Reference¶
Complete reference for every pymobiledevice3 command, generated from the CLI itself
at build time. For task-oriented examples see the
CLI recipes.
Command groups¶
| Group | Description |
|---|---|
activation |
Perform iCloud activation/deactivation or query the current state |
afc |
Browse, push, and pull files via the AFC service (/var/mobile/Media). |
amfi |
Enable developer-mode or query its state |
apps |
List, query, install, uninstall, and inspect apps on the device. |
backup2 |
Create, inspect, and restore MobileBackup2 backups. |
btlogger |
Capture Bluetooth HCI traffic to a file. Use '-' to stream to stdout. |
bonjour |
Browse devices over bonjour |
companion |
List paired "companion" devices |
crash |
Manage crash reports |
cryptex |
Manage cryptexes via cryptexd (iOS 17+, requires an RSD tunnel). |
developer |
Developer tooling for iOS devices (requires Developer Mode + mounted DeveloperDiskImage). |
diagnostics |
Reboot/Shutdown device or access other diagnostics services |
lockdown |
Pair/Unpair device or access other lockdown services |
mounter |
Mount/Umount DeveloperDiskImage or query related info |
notification |
Post or observe Darwin notifications via notification_proxy. |
pcap |
Sniff device traffic. |
power-assertion |
Create a power assertion |
processes |
View process list using diagnosticsd API |
profile |
Manage installed profiles or install SSL certificates |
provision |
Manage installed provision profiles |
remote |
Create and browse RemoteXPC tunnels (RSD/tunneld) for developer services. |
restore |
Restore/erase IPSWs, fetch blobs, and manage devices in Recovery/DFU. |
springboard |
Interact with SpringBoard UI (icons, wallpapers, orientation, shell). |
syslog |
Watch syslog messages |
usbmux |
Inspect usbmuxd-connected devices and forward TCP ports to them. |
webinspector |
Control Safari/WebViews (tabs, automation, JS shells, CDP). Requires Web Inspector and Remote Automation enabled on the device. |
idam |
Access IDAM (Inter-Device Audio and MIDI) configuration |
version |
Query pymobiledevice3 version |
Connection options¶
Device-facing commands accept a shared set of options selecting the target device and transport. Each command's page lists which of them it accepts.
| Option | Description |
|---|---|
--rsd HOST PORT |
Hostname and port of a RemoteServiceDiscovery (from any of the start-tunnel subcommands). Mutually exclusive with --tunnel. |
--tunnel <str> |
Use a device discovered via tunneld. Provide a UDID (optionally with :PORT) or leave empty to pick interactively. Mutually exclusive with --rsd. [env var: PYMOBILEDEVICE3_TUNNEL] |
--userspace |
Establish the iOS 17+ tunnel in-process with a pure-Python userspace network stack, so NO root/admin is required. Downloads (device->host, e.g. fetch-symbols) run at roughly the kernel tunnel's throughput; host->device transfers (DDI mounts, file pushes) are slower, as their send segments are kept small for reliable delivery through the pure-Python path. Use when you cannot run a privileged tunnel. [env var: PYMOBILEDEVICE3_USERSPACE] |
--mobdev2 / --no-mobdev2 |
Discover devices over bonjour/mobdev2 instead of usbmux. [default: no-mobdev2] |
--usbmux <str> |
Address of the usbmuxd daemon (unix socket path or HOST:PORT). Defaults to the platform usbmuxd if omitted. [env var: PYMOBILEDEVICE3_USBMUX, USBMUXD_SOCKET_ADDRESS] |
--udid <str> |
Target device UDID (defaults to the first USB device). [env var: PYMOBILEDEVICE3_UDID] |
See iOS 17+ tunnels for when a tunnel (--rsd/--tunnel/
--userspace) is required and how the no-root userspace default works.