API Error: Could not load Google Cloud credentials
Vertex AI で使う Google Cloud の認証情報を読めなかった状態。gcloud のアプリケーション用ログインが要る。
エラー文字列
API Error: Could not load Google Cloud credentials
⚠️ 標準出力に出ます。終了コードは 1 です。 Vertex AI には何も届いていません。
API Error: Could not load Google Cloud credentials · Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information. Check or refresh your Google Cloud credentials and try again.
何が起きているか
CLAUDE_CODE_USE_VERTEX=1 で Vertex AI を使う設定になっていますが、Google Cloud の認証情報(アプリケーションのデフォルト認証情報)を読めませんでした。
🔴 gcloud auth login だけでは足りません。 それは gcloud コマンド自身のログインです。
Claude Code のようなアプリケーションが使うのは、別の gcloud auth application-default login で作る認証情報です。
表示で原因が分かれる
v2.1.283 で、条件だけを変えて実測しました。
| 状態 | 出た表示 |
|---|---|
| 認証情報が何も無い | この表示 |
ANTHROPIC_VERTEX_PROJECT_ID も設定していない |
この表示(先に認証情報で止まる) |
GOOGLE_APPLICATION_CREDENTIALS が存在しないファイルを指している |
🔴 別の表示(下) |
API Error: The file at C:\nope\key.json does not exist, or it is not a file. ENOENT: no such file or directory, lstat 'C:\nope'
⭐ The file at ... does not exist なら、パスの指定が間違っています。 認証をやり直す必要はありません。
公式の説明では、ログインが取り消された場合は · の後ろが invalid_grant になります。
直し方
⚠️ 表示は実機で再現しましたが、最後の段(実際のログイン)は実アカウントが要るため、公式の手順によります。
GOOGLE_APPLICATION_CREDENTIALS の指定で表示が変わることまでは実測で確かめました。
1. アプリケーション用のログインをする
gcloud auth application-default login
⚠️ ブラウザでの認証を伴います。
2. GOOGLE_APPLICATION_CREDENTIALS を確かめる
サービスアカウントの鍵ファイルを使う場合は、このパスが実在するかを見ます。
macOS / Linux
echo "$GOOGLE_APPLICATION_CREDENTIALS"
ls -l "$GOOGLE_APPLICATION_CREDENTIALS"
Windows(PowerShell)
$env:GOOGLE_APPLICATION_CREDENTIALS
Test-Path $env:GOOGLE_APPLICATION_CREDENTIALS
⚠️ 設定されているのにファイルが無いと、上の「別の表示」になります。 使わないなら変数ごと外してください。
3. プロジェクトとリージョンも設定する
認証情報を直すと、次はこれらが要ります。
export ANTHROPIC_VERTEX_PROJECT_ID=あなたのプロジェクトID
export CLOUD_ML_REGION=us-east5
再発防止
gcloud auth loginとgcloud auth application-default loginを区別する。Claude Code が使うのは後者GOOGLE_APPLICATION_CREDENTIALSを設定するなら、ファイルが実在することを確かめる- 表示の後ろを読む。
does not existはパスの誤り、invalid_grantはログインの取り消し