WeatherKit JWT error (WDSJWTAuthenticatorServiceListener Code 2) on a new App ID with capability and app service both enabled

Every WeatherKit request from my app fails within 0.4 to 2.4 seconds on two physical devices (iPhone 15 Pro and iPad Air 11-inch M3, both iOS/iPadOS 27.0.1, Xcode 27.0):

Error Domain=WeatherDaemon.WDSJWTAuthenticatorServiceListener.Errors Code=2 "(null)"

The call is WeatherService.shared.weather(for: location, including: .hourly(startDate: start, endDate: end)).

Team ID 8B44CZ9923, bundle ID io.github.rsutcliffe.nightwatch.phone (an explicit App ID created by Xcode automatic signing on 14 October 2026).

What I have checked, following the answer in https://developer.apple.com/forums/thread/835229:

  • WeatherKit is enabled as a capability on the App ID (Capabilities tab) and as an app service (App Services tab).
  • com.apple.developer.weatherkit is in the signed app's entitlements and in the embedded provisioning profile.
  • The Program License Agreement update issued on 13 October was accepted on 14 October.
  • I unticked WeatherKit on the App ID, saved, re-ticked it and saved, deleted the cached provisioning profile so Xcode created a new one, reinstalled and retested.
  • Both devices were restarted. The failure is identical on both.
  • Another App ID on the same team works with WeatherKit.

This looks like https://developer.apple.com/forums/thread/786126 and https://developer.apple.com/forums/thread/829512, where the settings were also correct.

Can WeatherKit token registration for this App ID be checked or reset on the server side? Is there anything else I should verify?

Update: I can now reproduce this in a minimal project. It is a one-screen SwiftUI app with a single WeatherService call, using the same bundle ID (io.github.rsutcliffe.nightwatch.phone) and team (8B44CZ9923), with only the com.apple.developer.weatherkit entitlement. On an iPhone 15 Pro (iOS 27.0.1) the call fails with the same WDSJWTAuthenticatorServiceListener.Errors Code=2. The WeatherKit capability and the App Service are both ticked on the App ID, and the Services page shows WeatherKit with calls available. I have also sent a code-level support request with the sample project. Could someone from Apple check whether WeatherKit token registration for this App ID is complete on the server side? Thank you.