xcrun devicectl device install app exits with code 1 and prints the failure in two parts. The first line is devicectl’s wrapper, CoreDeviceError 3002. The line under the dashes says why:
Failed to install the app on the device. with Domain: com.apple.dt.CoreDeviceError Code: 3002.
mobster phone install and the MCP tool install_app install a build on an iPhone with this command. mobster phone install shows devicectl’s lines while it works, then reports the failure and its fix in one sentence, such as mobster phone: The build isn't signed for this iPhone. Sign it with a development profile that includes this iPhone (Xcode › Signing & Capabilities), build it for a device, then try again.
Why it happens
Error 3002 isdevicectl’s wrapper for a failed install. The reason under it usually comes from the iPhone, which checks the app’s signature, its profile and its entitlements before it installs it. The error can also come from the Mac, such as when devicectl can’t read a folder.
Fix
- Find the reason below the dashes or in the first line of the error. Look it up in Reasons and apply the fix.
-
If the first line is
ERROR: The specified device was not found.(CoreDeviceError 1000) instead, the--devicevalue matched no phone. Copy the Identifier fromxcrun devicectl list devices. -
To see what a build is signed for, read its profile and its entitlements:
The first command prints the UDIDs under
ProvisionedDevices, if the profile has that list. Look for your iPhone’s UDID there. The second prints the entitlements the app was signed with, to compare with the profile’sEntitlements. - Install again with the same command.
--json-output <file>. devicectl writes the error’s code, domain and userInfo there. Its help calls that file the only supported interface for programs.
Reasons
Check it worked
devicectl exits with 0, and the app is on the phone:
Output
mobster phone install prints Installed com.example.yourapp on <phone> in <seconds> s.
Checked 5 Nov 2026 against Mobster 0.4.0. The commands were checked with devicectl 518.27 (Xcode 26.4). Back to Troubleshooting.