Gemini CLI is not running in a trusted directory.
結論
信頼していないフォルダでは起動しない。CIやスクリプトでは自動では通れず、終了コード55で止まる。
確認した版
Gemini CLI v0.58.0
確認日
2026年9月3日
最終更新
2026年9月3日
根拠
実機で確認
エラー文字列
Gemini CLI is not running in a trusted directory.
⚠️ 標準エラーに出て、終了コードは 55 です。
Gemini CLI is not running in a trusted directory. To proceed, either use `--skip-trust`,
set the `GEMINI_CLI_TRUST_WORKSPACE=true` environment variable, or trust this directory
in interactive mode. For more details, see
https://geminicli.com/docs/cli/trusted-folders/#headless-and-automated-environments
何が起きているか
そのフォルダを「信頼する」と答えていないため、何も実行せずに止まっています。
⭐ 設定も認証も見に行く前に止まります。 そのため、APIキーやモデル名が間違っていても、このメッセージしか出ません。 別の問題を隠します。
🔴 CI・スクリプトでは自動では通れません
対話モードなら起動時に「信頼しますか」と聞かれます。しかし非対話では聞けないので、明示的に許可しない限り必ず止まります。
| 状況 | |
|---|---|
-p / --prompt を付けた |
明示的に非対話 |
| 標準出力が端末でない | パイプやリダイレクトも自動的に非対話 |
| CI・cron・スクリプト | 上に該当する |
⚠️ 手元では動いたのに CI だけ落ちる、という形で出ます。
なぜ信頼していない扱いなのか
| 状況 | 説明 |
|---|---|
| クローンして初めて開いた | 未知のフォルダは既定で未信頼 |
| CI が毎回まっさらな場所に展開する | 前回の「信頼した」記録が残らない |
| 一時ディレクトリで動かしている | 同上 |
| 対話で「信頼しない」を選んだ | その記録が残っている |
直し方
1. その場だけ許可する(一番手軽)
gemini --skip-trust -p "hello"
⚠️ このセッションだけです。 次回また必要になります。
2. CI では環境変数で通す(推奨)
export GEMINI_CLI_TRUST_WORKSPACE=true
gemini -p "hello"
Windows(PowerShell)
$env:GEMINI_CLI_TRUST_WORKSPACE = "true"
gemini -p "hello"
⭐ CI ではこちらが扱いやすいです。 コマンドを1つずつ書き換えずに済みます。
GitHub Actions の例
env:
GEMINI_CLI_TRUST_WORKSPACE: "true"
🔴 信頼するのは「そこで何が実行されてもよい」と認めることです。 他人の書いたコードを展開する場所では、その意味を理解したうえで設定してください。
3. 手元では対話で1回信頼しておく
gemini
起動時に信頼するか聞かれます。一度答えれば記録されます。
4. 通ったか確かめる
終了コードで判別できます。
gemini --skip-trust -p "hello"; echo "exit=$?"
gemini --skip-trust -p "hello"; "exit=$LASTEXITCODE"
⭐ 55 以外になっていれば、信頼の壁は越えています。 別のエラーが出るようになったら、それは次の問題です。
⚠️ このエラーが他の問題を隠します
v0.58.0 で実測しました。信頼していない状態では、下の指定はすべて無視されて同じメッセージが出ます。
| 試したこと | 出たもの |
|---|---|
-m no-such-model(存在しないモデル) |
🔴 信頼のメッセージだけ |
--extensions no-such-ext(存在しない拡張) |
🔴 信頼のメッセージだけ |
| 無効な API キー | 🔴 信頼のメッセージだけ |
⭐ まず信頼を通してから、他の原因を切り分けてください。 順番を逆にすると、直っていないのに直したつもりになります。
終了コードの一覧(実測)
再発防止
- ⭐ CI では
GEMINI_CLI_TRUST_WORKSPACE=trueを環境変数で置く。 コマンドごとの--skip-trustは付け忘れる - 🔴 このエラーが出ている間、他の設定ミスは見えない。 先に信頼を通す
- 終了コード 55 を「信頼の問題」として CI で判別できるようにしておく