device
List devices by attribute, show what one runs, delete one for an erasure request and probe why it did not update with hotcodepush device.
hotcodepush device is the support view of an app's devices.
A device is one install that checked a channel, known by the id it generated. The debug screen and device list show it.
How to read a probe's Outcome is on Troubleshooting.
list
List the app's devices, the newest report first, filtered by what they reported. It is for support and QA, never for a pipeline.
| Option | Type | Description |
|---|---|---|
--attribute <key=value> | string | An attribute the app set, key=value, such as userId=42. |
--binary-build <build> | string | The build number the devices run. |
--binary-version <version> | string | The app version the devices run. |
--channel <id|name> | string | The channel the devices follow, by id or name. |
--fingerprint <fingerprint> | string | The native fingerprint the devices report. |
--last-seen-since <time> | string | The earliest last report, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d. |
--last-seen-until <time> | string | The latest last report, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d. |
--limit <count> | number | How many to list, at most 100; 50 by default. |
--offset <count> | number | How many to skip: the offset the previous page ended with. |
--platform <platform> | android | ios | The platform, ios or android. |
--sdk-version <version> | string | The SDK version the devices run. |
hotcodepush device list --attribute userId=42
hotcodepush device list --platform ios --binary-version 2.4.1 --last-seen-since 2026-09-01T00:00:00Z --jsonget
Print what a device runs and reported last, with its outcome per release, newest first.
Each event is checked, applied, confirmed or failed, with a reason from Results and reasons on a failure.
| Option | Type | Description |
|---|---|---|
--device <id> | string | The device, by the id it generated, as the debug screen and device list show it. |
hotcodepush device get --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259
hotcodepush device get --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259 --jsonThe first example prints:
ID 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259
Platform ios 17.4
Binary 2.4.1 (57)
Fingerprint fp1:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
Channel production (config)
Release 8c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f
SDK 1.2.0
Attributes plan=pro
Country DE
Last seen 2026-10-19T07:30:02.000Z
First seen 2026-09-02T10:11:45.000Z
RELEASE OUTCOME REASON DATE
8c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f confirmed 2026-10-19
8c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f applied 2026-10-19
8c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f checked 2026-10-19
5d2e3f4a-6b7c-4d8e-9f0a-1b2c3d4e5f6a failed download_failed 2026-10-12delete
Delete a device's record, an erasure request. The device reports again with its next check.
Confirms once (--yes in a script). What the record held is on Privacy and device data.
| Option | Type | Description |
|---|---|---|
--device <id> | string | The device, by the id it generated, as the debug screen and device list show it. |
hotcodepush device delete --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259
hotcodepush device delete --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259 --yes --jsonprobe
Answer why a device did not update: fetch the live index as a device would, evaluate it and mark every condition of every release.
With --device the facts come from its last report. Otherwise unknown facts count as passing and are listed.
--json prints one document with the device facts, outcome and verdicts.
| Option | Type | Description |
|---|---|---|
--attribute <key=value> | string, repeatable | An attribute the app sets, key=value, repeatable. |
--binary-build <build> | string | The store build's build number, CFBundleVersion or versionCode. |
--binary-version <version> | string | The store build's version, CFBundleShortVersionString or versionName. |
--channel <id|name> | string | The channel, by id or name. Defaults to hotcodepush.json's channel. |
--device <id> | string | The device, by the id it generated, as the debug screen and device list show it. |
--platform <platform> | android | ios | The platform, ios or android. |
hotcodepush device probe --platform ios --binary-version 2.4.1 --binary-build 57
hotcodepush device probe --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259 --jsonThe output is four lines, then one row per release:
Channel production, ios
Index published 2026-10-20T08:00:00.000Z
Outcome skipped, device_incompatible (fingerprint), release #43
Unknown nothing
RELEASE ROLLOUT CONDITIONS VERDICT
#43 100% fingerprint fail device_incompatible (fingerprint)
#42 100% fingerprint pass, binary pass eligible
#41 50% fingerprint pass device_not_in_rolloutLast updated on
customer-portal-session
Create a session of the customer portal with hotcodepush customer-portal-session create and open its URL for the invoices and the payment method.
fingerprint
Print the project's native fingerprint and the packages behind it with hotcodepush fingerprint, and find what moved between two builds with fingerprint diff.