WeatherKit fails on device (WDSJWTAuthenticatorServiceListener Code=2) and REST API returns NOT_ENABLED — WeatherKit not enabled for my team despite correct setup

WeatherKit never returns data for my app. Both the on-device API and the REST API fail at the authentication layer, which points to WeatherKit not being enabled at the backend for my team.

On-device: WeatherService.shared.weather(for:including:.current) throws WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 on a real device, every time.

REST API: I created a WeatherKit key and called the REST endpoints directly from my Mac (bypassing the app and the device entirely). Both return HTTP 401 {"reason":"NOT_ENABLED"}:

Identifiers:

  • Team ID: 5L3SCT446M
  • App ID: com.saebom.weathergal (widget: com.saebom.weathergal.widget)
  • WeatherKit REST Key ID: 2BGXGVFDX6

Everything on my side is verified correct:

  • com.apple.developer.weatherkit entitlement is present in the signed binary AND in the embedded App Store provisioning profile (verified via codesign and by decoding the .mobileprovision).
  • WeatherKit is enabled under App Services for the App ID.
  • Apple Developer Program License Agreement accepted; Paid/Free Apps Agreements active.
  • The WeatherKit Usage dashboard shows 0 of 500,000 calls used (the request never authenticates).
  • I toggled the WeatherKit capability off/on and regenerated provisioning profiles; no change after several days.

Likely cause: the WeatherKit capability was first enabled on 2026-06-09, while the updated Developer Program License Agreement (issued 2026-06-09) was not accepted until 2026-06-11. The backend WeatherKit token registration appears to have gotten stuck because it was created while the agreement was still pending.

Could the WeatherKit/DTS team please verify and re-sync the backend WeatherKit token registration for Team ID 5L3SCT446M? I already filed FB23197482 with the same details. Thank you.

The majority of problems like this are caused by folks not enabling the WeatherKit app service on their App ID. See this post.

WeatherKit is enabled under App Services for the App ID.

That doesn’t match my view of things. I can see the WeatherKit capability enabled on both your App IDs (5L3SCT446M.com.saebom.weathergal and 5L3SCT446M.com.saebom.weathergal.widget) but I don’t see the WeatherKit app service enabled on either.

Can you post a screenshot of your view of the App Service tab? Make sure to not crop out the App ID information (the App ID Prefix and Bundle ID fields).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

WeatherKit fails on device (WDSJWTAuthenticatorServiceListener Code=2) and REST API returns NOT_ENABLED — WeatherKit not enabled for my team despite correct setup
 
 
Q