Skip to content

pymobiledevice3 crash

List, pull, parse, watch and delete crash reports (and sysdiagnose archives).

clear

Delete all crash reports under a path (default: everything; no confirmation).

pymobiledevice3 crash clear [OPTIONS] [remote_file]

Arguments:

Argument Description
remote_file Path under the crash reports directory to clear. [default: /]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
-f, --flush Run flush first, so pending reports are deleted too.
-m, --match <str> Only remove what pull --match would pull for the given basename regex (without copying).

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

parse

Print a crash report from the device in a readable, parsed form.

pymobiledevice3 crash parse [OPTIONS] {remote_file}

Arguments:

Argument Description
remote_file Crash report path, relative to the crash reports directory. [required]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

parse-latest

Parse the latest top-level crash report(s) under a path, newest first.

pymobiledevice3 crash parse-latest [OPTIONS] [remote_file]

Arguments:

Argument Description
remote_file Path whose top-level reports should be searched. [default: /]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
-m, --match <str> Case-sensitive basename regex filter (repeatable; all must match).
-mi, --match-insensitive <str> Case-insensitive basename regex filter (repeatable; all must match).
-n, --count <int range> Maximum number of latest reports to parse. [default: 1; x>=1]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

pull

Download crash reports from the device (all of them by default).

pymobiledevice3 crash pull [OPTIONS] {out} [remote_file]

Arguments:

Argument Description
out Local directory to save the reports into. [required]
remote_file File or directory to pull, relative to the crash reports directory. [default: /]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
-e, --erase Delete each report from the device after pulling it.
-m, --match <str> Only pull entries whose basename matches this regex.

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

shell

Open an interactive file shell rooted at the crash reports directory.

pymobiledevice3 crash shell [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
--tool <str> also offer this host tool as a command inside the shell, e.g. --tool jq (repeatable)

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

webdav

Serve the crash reports directory over WebDAV for local mounting; runs until Ctrl+C.

pymobiledevice3 crash webdav [OPTIONS] [path]

Arguments:

Argument Description
path AFC path to serve as the volume root (default: /) [default: /]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
--mount mount the served path locally and reveal it in your file manager
--host <str> local interface to bind [default: 127.0.0.1]
--bind-port <int> local TCP port (0 picks a free port) [default: 0]
--readonly expose the path read-only

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

ls

List crash reports and folders in the crash reports directory.

pymobiledevice3 crash ls [OPTIONS] [remote_file]

Arguments:

Argument Description
remote_file Directory to list, relative to the crash reports directory. [default: /]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
-d, --depth <int> How many levels deep to list (-1 for unlimited). [default: 1]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

flush

Move pending crash reports into the crash reports directory (via crashreportmover).

pymobiledevice3 crash flush [OPTIONS]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

watch

Print each new crash report as the device creates it; runs until Ctrl+C.

pymobiledevice3 crash watch [OPTIONS] [name]

Arguments:

Argument Description
name Only show reports of the process with this name.

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
-r, --raw Print each report's raw text instead of the parsed report.
--format <text\|json> Output format. 'json' emits one JSON object per line (NDJSON) on stdout. [default: text]

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.

sysdiagnose

Wait for a sysdiagnose you trigger on the device, then download it.

This command does not start the sysdiagnose: press Power+VolUp+VolDown together briefly on the device (as prompted), then wait for the archive.

pymobiledevice3 crash sysdiagnose [OPTIONS] {out}

Arguments:

Argument Description
out Local path to save the archive to. [required]

Options:

Option Description
--native macOS only: reach the iOS 17+ tunnel by piggybacking Apple's own remoted tunnel via the remotepairingd service. NO root, no entitlement, no Xcode. Rides Apple's kernel-routable tunnel, so throughput matches the kernel tunnel, but the device keeps a single RSD connection on it: remoted and this process evict each other's, which can reset connections and leave Xcode/devicectl without the device until remoted reconnects. Mutually exclusive with --rsd/--tunnel/--userspace. [env var: PYMOBILEDEVICE3_NATIVE]
-e, --erase Delete the archive from the device after pulling it.
-t, --timeout <float> Maximum time in seconds to wait for the sysdiagnose archive to complete (default: no limit).

Accepts the connection options: --rsd, --tunnel, --userspace, --mobdev2, --usbmux, --udid.