microg/GmsCore · error · IllegalArgumentException
pendingIntent or createCredentialResponse must be specified.
Error message
pendingIntent or createCredentialResponse must be specified.
What it means
Constructor validation in CreateCredentialHandle: both optional fields are unset — no pendingIntent and no createCredentialResponse — while at least one is required for the credential-selector flow to act on the handle.
Source
Thrown at play-services-identity-credentials/src/main/java/com/google/android/gms/identitycredentials/CreateCredentialHandle.java:43
@SafeParcelable.Class
public class CreateCredentialHandle extends AbstractSafeParcelable {
@Field(value = 1, getterName = "getPendingIntent")
@Nullable
private final PendingIntent pendingIntent;
@Field(value = 2, getterName = "getCreateCredentialResponse")
@Nullable
private final CreateCredentialResponse createCredentialResponse;
/**
* constructs an instance of {@link CreateCredentialHandle}
*
* @param pendingIntent the {@link PendingIntent} to launch the credential selector UI
* @param createCredentialResponse the {@link CreateCredentialResponse} if no UI is needed
*/
@Constructor
public CreateCredentialHandle(@Param(1) @Nullable PendingIntent pendingIntent, @Param(2) @Nullable CreateCredentialResponse createCredentialResponse) {
if (pendingIntent == null && createCredentialResponse == null) {
throw new IllegalArgumentException("pendingIntent or createCredentialResponse must be specified.");
}
this.pendingIntent = pendingIntent;
this.createCredentialResponse = createCredentialResponse;
}
/**
* the {@link CreateCredentialResponse} if no UI is needed
*/
@Nullable
public CreateCredentialResponse getCreateCredentialResponse() {
return createCredentialResponse;
}
/**
* the {@link PendingIntent} to launch the credential selector UI
*/
@Nullable
public PendingIntent getPendingIntent() {View on GitHub (pinned to 157c9d86ac)
Solutions
- Provide a non-null PendingIntent or CreateCredentialResponse when constructing the handle
- Treat a null-both record as invalid and re-request the credential
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at play-services-identity-credentials/src/main/java/com/google/android/gms/identitycredentials/CreateCredentialHandle.java:43 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of microg/GmsCore@157c9d86ac (2026-09-06).
Data as JSON: /api/errors/d8cdc16418e0b62a.
Report an issue: GitHub.