Report #51033
[bug\_fix] Could not automatically determine credentials
Run \`gcloud auth application-default login\` or set the GOOGLE\_APPLICATION\_CREDENTIALS environment variable to the path of a valid service account JSON key. The root cause is that the google-auth-library's default credentials provider searched for the credentials file in well-known locations \(~/.config/gcloud/application\_default\_credentials.json\), the metadata server \(169.254.169.254 on GCE\), and the env var, finding no valid token or key material.
Journey Context:
Data scientist runs Python script locally using BigQuery client, works fine. Colleague clones repo on fresh laptop, installs requirements, runs same script, gets 'Could not automatically determine credentials'. Checks \`gcloud config list\` - shows active account. Realizes colleague never ran \`gcloud auth application-default login\`. The gcloud CLI auth and Application Default Credentials \(ADC\) used by client libraries are separate caches. The fix works because \`gcloud auth application-default login\` performs the OAuth2 flow for user credentials, writing a refresh token to ~/.config/gcloud/application\_default\_credentials.json. The google-auth-library reads this file, uses the refresh token to get an access token from https://oauth2.googleapis.com/token, and attaches the Bearer token to BigQuery API requests. Alternatively, setting GOOGLE\_APPLICATION\_CREDENTIALS to a service account JSON bypasses the user auth flow entirely, using the service account's private key to sign JWTs directly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T16:08:40.689556+00:00— report_created — created