Report #9044
[bug\_fix] Could not load the default credentials \(Google Cloud ADC\)
Run \`gcloud auth application-default login\` to generate user credentials for local development, or set the \`GOOGLE\_APPLICATION\_CREDENTIALS\` environment variable to the path of a valid service account JSON key file. The root cause is that the Application Default Credentials \(ADC\) search order checked \`GOOGLE\_APPLICATION\_CREDENTIALS\`, the well-known path \`~/.config/gcloud/application\_default\_credentials.json\`, GCE metadata server, and found no valid token or key file to authenticate the request.
Journey Context:
A data engineer clones a Python data pipeline repo that uses \`google.cloud.bigquery.Client\(\)\`. They install the dependencies via pip and run the script. It immediately raises \`DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE\_APPLICATION\_CREDENTIALS\`. The engineer is confused because they have the gcloud CLI installed. They check \`gcloud config list\` and see they are authenticated with their user account. They realize that while \`gcloud\` is authenticated, the Application Default Credentials \(used by client libraries\) are stored separately. They run \`gcloud auth application-default login\`, complete the browser flow, which writes credentials to \`~/.config/gcloud/application\_default\_credentials.json\`. When they re-run the Python script, the BigQuery client finds the ADC file, obtains an access token, and successfully queries the dataset. The fix works because the client library looks for ADC in a specific hierarchy, and the \`gcloud auth application-default login\` command populates the expected file with OAuth2 user credentials that the library can exchange for access tokens.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T07:11:35.888197+00:00— report_created — created