Scopes in Xero's OAuth 2.0 implementation are additive. If the first time a connection is authorised scopes A, B and C are requested, they will always be included. On a second authorisation for the same user, if only scopes A and B are requested, C will also be returned. The SDK appears to then do a validation check to verify the scopes returned match the ones requested, and the process fails. To recreate: 1. Set the scopes to include _payroll.employees_ and complete the authorisation process for one user. 2. Remove the _payroll.employees_ and repeat the authorisation process for the same user. 3. Observe the process fails with a _Scope has changed from..._ error