You are NOT asking for claims, you are asking for a Scope.
A Scope can contain 0…X Mappers → Claim.
Please check the ClientScope Tab on your configured Client. There is a list with Default Scopes(They are always evaluated) and Optional Scopes(Those are only on request).
Please be aware, that oidc is default.
In your receiving token, you can see what scopes are applied. Without any Scope param, you will get only the default ones.
But I have a follow-up question: what if I have a single scope that contains 2 mappers — for example, the profile scope which contains both given_name and family_name — could I use the claims parameter to request only given_name in the ID Token?
But Keycloak returned all claims from profile anyway, ignoring the filter.
According to the OIDC, the claims parameter should allow requesting individual claims regardless of scopes. Is this filtering behavior simply not supported in Keycloak? If not, is the only reliable approach to have one mapper per scope?
According to the spec, one can request individual claims in addition to the claims returned by the scopes. The claims parameter is for extending, not for filtering.