All examples that use authentication have something like: while (!service.Authenticator.CanAuthenticate()) yield return null; The problem is that if an error has happened this will wait indefinitely, the co-routine never ends, and I cannot display a message for the user.