Not inside a trusted directory and --skip-git-repo-check was not specified.
結論
git管理下でないフォルダで実行した状態。Codexがファイルを書き換えるため、対象を限定する安全機構。
確認した版
Codex CLI v0.153.0
確認日
2026年9月3日
最終更新
2026年9月3日
根拠
実機で確認
エラー文字列
Not inside a trusted directory and --skip-git-repo-check was not specified.
⚠️ 標準エラーに出て、終了コードは 1 です。 認証より前に判定されるので、ログイン状態とは無関係です。
何が起きているか
git 管理下でないフォルダで実行しました。
Codex はファイルを読み書きします。どこで動かしているか分からない状態で書き換えると、取り返しがつきません。git 管理下なら差分が取れて元に戻せるので、それを実行の前提にしています。
v0.149.0 で実測した対応表です。
| 実行した場所 | 結果 |
|---|---|
| git 管理下でない | Not inside a trusted directory and --skip-git-repo-check was not specified. |
| git 管理下(コミット済み) | そのまま処理が進む |
⭐ 判定は「いまいるフォルダ」に対して行われます。 リポジトリの中にいるつもりで、別の場所から起動しているときに出ます。
直し方
1. どこで実行しているか確認する
Windows(PowerShell)
Get-Location
git rev-parse --show-toplevel
macOS / Linux
pwd
git rev-parse --show-toplevel
⚠️ fatal: not a git repository が返るなら、そこは git 管理下ではありません。
2. リポジトリのルートへ移動する
cd "$(git rev-parse --show-toplevel)"
codex exec "..."
Windows(PowerShell)
Set-Location (git rev-parse --show-toplevel)
codex exec "..."
3. まだ git 管理下でないなら初期化する
git init
git add -A
git commit -m "初回"
⭐ これが最も安全です。 元に戻せる状態を先に作ってから触らせます。
4. どうしても git 管理外で動かす
codex exec --skip-git-repo-check "..."
🔴 安全機構を外す操作です。 Codex の書き換えを git で戻せなくなります。
使ってよいのは、次のように壊れても困らないと言い切れる場合だけです。
| 使ってよい例 | 理由 |
|---|---|
読み取りだけさせる(--sandbox read-only) |
書き換えが起きない |
| 捨ててよい作業用フォルダ | 壊れても失うものが無い |
| バックアップ済みで復元手段がある | 戻せる |
⚠️ 常用しないこと。 毎回付けるなら、そもそも git 管理下に置くほうが安全で手間も少なくなります。
再発防止
- 触らせる前に
git initと初回コミットを済ませる。 差分で確認・取り消しができる - CI やスクリプトでは、リポジトリのルートへ
cdしてから実行する --skip-git-repo-checkを既定にしない。付けるときは読み取り専用と併用する