Enterprise WatchOS App Won't Install on WatchOS 26.5

We have an Apple Watch app and companion iPhone app that we distribute via Enterprise Distribution using OTA manual installation. (We are on an Apple Enterprise Developer Team)

With WatchOS 26.4 and earlier, the app would install fine on both the phone and the watch. However, after updating to WatchOS 26.5 (and iOS 26.5), the app will not install on the watch. It will install on the phone and we can trust the developer/run the phone app. However, when we go into the Apple Watch app on the phone and choose "Install" for the app, it tries to install for a minute and then returns an error "The app could not be installed at this time".

We have tried the following remedies:

  • Restarting both watch and phone, and reinstalling the app on phone
  • Factory resetting both the watch and the phone, then reinstalling app
  • Generating a new Distribution Certificate and new manual profiles for the app in Apple Developer
  • Looking through console logs from both the phone and the watch
  • Confirmed that we can install other (non-Enterprise) apps on the watch
  • Try installing a basic example app (the default Xcode watch + companion app project)

There does not seem to be anything obviously amiss about the app or its packaging, it seems to be something to do with the update to WatchOS 26.5.

The closest related errors we have found seems to be these: appconduitd 0x16d43f000 -[ACXInstallQueue _onQueue_deQueueNextOperation]_block_invoke_3: Failed to install app <redacted>.EnterpriseInstallTest.watchkitapp (p = Y, ui = Y) : Error Domain=ACXErrorDomain Code=8 "Failed to create socket" UserInfo={NSUnderlyingError=0xcf9138e10 {Error Domain=com.apple.identityservices.error Code=20 "Socket open timed out" UserInfo={NSLocalizedDescription=Socket open timed out}}, FunctionName=-[ACXServerInstallOperation _onQueue_prepForTransferAndInstall]_block_invoke, SourceFileLine=370, NSLocalizedDescription=Failed to create socket} appconduitd 0x16d89f000 -[ACXCompanionSyncConnection _installQueuedOrCompletedForWatchBundleID:companionAppBundleID:withName:userInitiated:withError:withCompletion:]_block_invoke: Failed to install app <redacted>.EnterpriseInstallTest.watchkitapp : Error Domain=ACXErrorDomain Code=8 "Failed to create socket" UserInfo={NSUnderlyingError=0xcf9138e10 {Error Domain=com.apple.identityservices.error Code=20 "Socket open timed out" UserInfo={NSLocalizedDescription=Socket open timed out}}, FunctionName=-[ACXServerInstallOperation _onQueue_prepForTransferAndInstall]_block_invoke, SourceFileLine=370, NSLocalizedDescription=Failed to create socket}

I'm having the exact same issue, but after coming back to a project after awhile, so I wasn't sure it was related the the upgrade. Thanks for confirming.

In my case, I am using OTA install from a companion iPhone app,. but using a normal developer acction (not enterprise) with develop provisioning profiles. Was working great before, but now when I try to install teh app from the phone it hangs for about a minute and displays the "App cannot be installed at this time" error. The Console shows:

0x16f1e3000 -[ACXCompanionSyncConnection _installQueuedOrCompletedForWatchBundleID:companionAppBundleID:withName:userInitiated:withError:withCompletion:]_block_invoke: Failed to install app com.parax.desek.watch : Error Domain=ACXErrorDomain Code=8 "Failed to create socket" UserInfo={NSUnderlyingError=0xa97209aa0 {Error Domain=com.apple.identityservices.error Code=20 "Socket open timed out" UserInfo={NSLocalizedDescription=Socket open timed out}}, FunctionName=-[ACXServerInstallOperation _onQueue_prepForTransferAndInstall]_block_invoke, SourceFileLine=370, NSLocalizedDescription=Failed to create socket}

I have tried resetting the watch twice with no success. Definitely seems to be something broken in 26.5. Too bad I can't try to downgrade to verify.

That does sound similar to what I am experiencing. I wonder if there is some issue introduced by 26.5 that prevents the watch from verifying the app signing on install, or communicating with the iPhone to do that?

Do you have a feedback report yet? If not, would you mind to file one and share your report ID here? Thanks.

Best,
——
Ziqiao Chen
 Worldwide Developer Relations.

Ziqiao Chen, I do have a Feedback report filed. Here is the info: FB22807635 (Cannot Install Enterprise Team Watch App From iPhone in 26.5)

Please let me know if you need any more details.

Thank you

Same issue, used like 3 different AIs on the highest level to do every diagnostic possible and it can't even fix it. Following but just reporting you're not the only one.

Ziqiao Chen, I do have a Feedback report filed. Here is the info: FB22807635 (Cannot Install Enterprise Team Watch App From iPhone in 26.5)

Thank you for reporting the issue. Just to confirm that it is most likely a regression we have known, and folks are actively working on that.

Best,
——
Ziqiao Chen
 Worldwide Developer Relations.

Thank you for the response, it is good to hear that it is being worked on!

I'm seeing the same, as well as watch connectivity problems in general. Xcode has a hard time staying connected, and it seems like applicationContexts may have some issues transferring well.

I'm really hoping this is sorted out in 26.5.1 soon.

Claude's summary of us chasing this problem all day:

The failure originates in appconduitd (Application Conduit Daemon), not the install pipeline itself.     
  Specific cascade:                                                                                      
                                                                                                           
  1. appconduitd calls ACXServerInstallOperation _onQueue_prepForTransferAndInstall                        
  2. ACXIDSSocketManager tries handleIDSRelayConnectionResponseWithContext
  3. Underlying call to identityservicesd reports legacy control channel connect ready ... socket error: 60
   (Operation timed out) on peer at fe80::*%utun3 (link-local IPv6 over a Continuity utun interface)       
  4. Bubbles up as com.apple.identityservices.error Code=20 "Socket open timed out"
  5. Returns to appconduitd as ACXErrorDomain Code=8 "Failed to create socket"                             
  6. User sees: "The app could not be installed at this time."                                             
                                                                                                           
  So the broken layer is IDS (Identity Services) peer transport over the Bluetooth-discovered link, not the
   install pipeline. That's a useful narrow target for Apple to focus on, vs. the broader "install is      
  broken."                                                                                                 
                                                                                                         
  Workarounds we empirically validated:  

  1. Toggle Bluetooth off then on on BOTH iPhone AND Apple Watch. Handoff toggle on iPhone alone is not    
  sufficient. Watch restart alone is not sufficient. Both ends, both subsystems, forces a fresh IDS peer
  handshake.                                                                                               
  2. Direct install via xcrun devicectl device install app --device <WATCH_UUID> path/to/watch.app —     
  completely bypasses the broken Watch.app propagation, treating the watch as a paired companion device.   
  Works for dev installs; doesn't help non-developer enterprise users who can't run devicectl.
                                                                                                           
  Related secondary symptom worth mentioning: even after the install eventually succeeds,                  
  updateApplicationContext from iPhone to Watch can silently fail to deliver for watch apps that ARE
  installed. Apple's framework dedupes by byte-equality against an iPhone-side "last set" cache that       
  doesn't get invalidated when the broken IDS transport drops a delivery. The cache and the watch's real 
  slot drift permanently out of sync; subsequent calls return no change and skip delivery. Workaround:
  stamp each dict with _sentAt = Date().timeIntervalSince1970 to defeat dedup. Same underlying broken
  transport, expressing in a different layer.

Still nothing, right? I have my final project for my Bachelor with apple watch app, and also I cannot subscribe to the Apple Developer program. It asks me to show the driver license I m taking photos and then I get an error... My final project ddl is on 10th July...

Adding a data point on a related variant of this failure. The signature and forum-documented workarounds map cleanly, but this pairing behaves differently in one respect that may be useful for the team working on FB22807635.

Environment

  • iPhone 15 Pro on iOS 26.5 (build 23F77)
  • Apple Watch Series 5 on watchOS 10.6.1 (this hardware cannot go past watchOS 10.x)
  • Paid Apple Developer Program membership, 1-year auto-managed provisioning
  • Xcode 26.5 with iPhoneOS26.5 / WatchOS26.5 SDKs
  • Dev-signed watch companion app that installed cleanly on 2026-07-08, stopped installing on 2026-07-15 with no local project change in between

Error signature (identical to the thread)

Live syslog capture from the moment the "This app could not be installed at this time" alert appeared on the iPhone:

appconduitd -[ACXServerInstallOperation _onQueue_prepForTransferAndInstall]: Acquiring socket for com.example.myapp.watchkitapp (p = Y, ui = Y) appconduitd ACXIDSSocketManager: Starting socket setup for stream ID <UUID> appconduitd Got delivery acknowledgement for socket setup message ID <UUID>; starting bringup for stream ID <UUID> appconduitd IDSDeviceConnection Init connection socket -1 with options ... [~60 seconds elapse with no return-channel response from the watch] appconduitd _IDSDeviceConnection has timed out waiting for a socket. appconduitd Failed to create IDSDeviceConnection (error: Error Domain=com.apple.identityservices.error Code=20 "Socket open timed out") appconduitd -[ACXServerInstallOperation _onQueue_prepForTransferAndInstall]_block_invoke: 370: Failed to create socket appconduitd Failed to install app com.example.myapp.watchkitapp ACXErrorDomain Code=8 "Failed to create socket" (underlying: identityservices Code=20 Socket open timed out)

The identityservicesd side shows the outbound setup completing normally on the control channel before the timeout. Setup message on com.apple.private.alloy.appconduit.v2, IPsecLink setup encrypted channel control message (type=6) dispatched with ports [61314:::1064], remoteGUID present, message written to NW connection with 237 bytes. Ack received from the watch on the setup message itself. Return socket bringup never occurs.

Deterministic across every attempt

Ten install attempts in the last two days. Every single one times out at the same ~60-second mark with the same signature. No intermittent behavior, no partial success, no variance based on network path (home Wi-Fi, work Wi-Fi, cellular tested and identical).

Ruled out via direct test

  • Bundle content: a blank Xcode 26.5 watchOS project (no HealthKit, no permissions, 3-key entitlements only, brand-new App IDs never seen by Apple) fails with the identical signature.
  • Any specific App ID: renamed watch bundle to a fresh App ID that never existed on our team before, Apple auto-generated new App ID and profile, still fails identically.
  • HealthKit / restricted entitlements: signed watch bundle with the HealthKit entitlement key removed entirely and re-installed. Still fails.
  • Signing certificate identity: revoked our Apple Development cert on the portal, removed private key from Keychain, generated a fresh cert via Xcode. Still fails.
  • Watch-side persistent state: full unpair, watch factory-reset to language selector, re-pair with backup restore. Fresh NRD pairing entry. Still fails.
  • Phone-side state: multiple reboots, Reset Location & Privacy, Mac reboot, fresh CoreDevice lockdown pair. Still fails.

Forum workarounds tested on this variant

  • Workaround #1 (Bluetooth toggle on both devices): executed with sysdiagnose confirmation that the toggle forced a fresh identityservicesd TLS 1.3 handshake between devices (Client handshake started sequence visible). Install still fails identically after the fresh handshake. Rules out the specific IDS peer-transport state that reportedly clears this on the watchOS 26.5 pairing.
  • Workaround #2 (direct xcrun devicectl device install app --device <WATCH_UUID>): returns CoreDeviceError 4000 with underlying NSPOSIXErrorDomain error 60 (operation timed out). CoreDevice's tunnel to the watch never establishes for devicectl operations in this environment, even though the watch is reachable via IDS and Bluetooth for every other purpose.

Neither workaround unblocks watchOS 10.6.1 companion installs.

Questions

  1. Does FB22807635 cover the iOS 26.5 → watchOS 10.6.1 pairing, or is our variant distinct enough to warrant a separate report referencing it? The forum thread body focuses on watchOS 26.5, and our failure mode differs in that both documented workarounds are ineffective for us.
  2. Any ETA on 26.5.1 or an interim mitigation? This blocks all dev-signed watch iteration for developers whose users are on Series 4/5/6 hardware that cannot update past watchOS 10.x.
  3. If additional diagnostic captures would help the team working on this, happy to provide. Sysdiagnose from the failing install window is preserved locally.
Enterprise WatchOS App Won't Install on WatchOS 26.5
 
 
Q