See scratch log entry for context.
Starting point is to recreate what happened:
run.Cmd().Run() for a gcloud command that fails due to missing permissions (maybe worthwhile to use the exact command from this issue)
- See if
gcloud returns an appropriate exit code when an error occurs, and why this is not returned as an error by run