HAP‑Token‑Update‑Request if accessory cannot save new token

In the HAP‑Token‑Update‑Request process, if the accessory fails to save the token correctly or the power is cut off during the token saving process, resulting in an old or incomplete token stored locally on the accessory, will this accessory be unable to be added to the Home app in the future?

Posted on Oct 10, 2025 8:35 PM

Reply
Question marked as Top-ranking reply

Posted on Oct 11, 2025 9:00 AM

AFAIK, if an accessory fails to correctly store the new token during the HAP-Token-Update-Request process then its local pairing data will be inconsistent with what the controller (e.g., the Home app) expects. In that case, the accessory will indeed, as you suspected, fail future pair resume or re-add attempts because the Home app’s stored token won’t match what the accessory has on record. From the HomeKit perspective, this looks like a device that’s either “already paired” to another controller or simply unreachable during setup.


To recover, the accessory typically needs to reset its pairing state and clear all stored tokens. In other words, performing a factory reset or at least a HomeKit configuration reset will erase the corrupted or partial token data. Once that’s done, the Home app should be able to see the device as new and allow it to be added again normally.

3 replies
Question marked as Top-ranking reply

Oct 11, 2025 9:00 AM in response to 云龙89

AFAIK, if an accessory fails to correctly store the new token during the HAP-Token-Update-Request process then its local pairing data will be inconsistent with what the controller (e.g., the Home app) expects. In that case, the accessory will indeed, as you suspected, fail future pair resume or re-add attempts because the Home app’s stored token won’t match what the accessory has on record. From the HomeKit perspective, this looks like a device that’s either “already paired” to another controller or simply unreachable during setup.


To recover, the accessory typically needs to reset its pairing state and clear all stored tokens. In other words, performing a factory reset or at least a HomeKit configuration reset will erase the corrupted or partial token data. Once that’s done, the Home app should be able to see the device as new and allow it to be added again normally.

Oct 12, 2025 6:50 PM in response to 云龙89

It looks like the HomeKit pairing process failed during the MFi (Made for iPhone) token authentication stage. The log you shared shows the accessory successfully accessed its stored provisioning tokens (`kSDKKeyValueStoreKey_Provisioning_MFiTokenUUID` and `MFiToken`), but something likely went wrong right after this — possibly due to a stale or invalid MFi token remaining after your factory reset. Even though the accessory attempted to restore itself, the BLE session probably terminated before a valid authentication response could be completed.


Here’s some final suggestions on what you can try:

  • Some devices retain MFi tokens in non-volatile memory even after a “soft” reset. Check the manufacturer’s instructions for a complete reset that clears all HomeKit and MFi credentials.
  • Restart the iPhone and the accessory before reattempting pairing.
  • If it still shows up, try forgetting the accessory in HomeKit. Then retry pairing from scratch.
  • If the issue persists, contact the accessory vendor for a reissued token.

Oct 12, 2025 5:46 PM in response to Tesserax

I tried to restore the accessory to factory settings, but when adding the device, the iOS device reported an error and failed to add the device.The last message before the BLE disconnected was


84.882 Debug [com.apple.mfi.HomeKit.Platform:KeyValueStore] cyl call settings_load_subtree_direct

84.916 Default [com.apple.mfi.HomeKit.Core:MFiTokenAuth] cyl HAPMFiTokenAuthGetTokenResponse

84.927 Default [com.apple.mfi.HomeKit.Platform:MFiTokenAuth] cyl HAPPlatformKeyValueStoreGet kSDKKeyValueStoreKey_Provisioning_MFiTokenUUID

84.942 Debug [com.apple.mfi.HomeKit.Platform:KeyValueStore] Get 40.20

KeyValueStoreGet 40.20

84.952 Debug [com.apple.mfi.HomeKit.Platform:KeyValueStore] cyl call settings_load_subtree_direct

84.975 Default [com.apple.mfi.HomeKit.Platform:MFiTokenAuth] cyl HAPPlatformKeyValueStoreGet kSDKKeyValueStoreKey_Provisioning_MFiToken

84.989 Debug [com.apple.mfi.HomeKit.Platform:KeyValueStore] Get 40.21

KeyValueStoreGet 40.21

85.086 Debug [com.apple.mfi.HomeKit.Core:BLEPDU] Response:

TID: 0xed

Status: Success (0x00)

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

HAP‑Token‑Update‑Request if accessory cannot save new token

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.