このツールでできること
Codex CLIは、Windows環境でシェルスクリプトなどのコマンド実行をAIに任せるためのツールです。特に、業務システムのデプロイ用シェルスクリプト(.sh)の実行をAIに依頼する用途が想定されます。しかし、特定の条件下で意図しないシェルが起動する問題が発生することがあります。
料金プラン
公式サイトで最新情報を確認してください
使い方の概要
問題の発生: Windows環境でCodex CLIに.shスクリプトを実行させると、Git BashがインストールされPATHが通っているにもかかわらず、WSLのbashが起動してしまう問題が発生しました。WSLのbashはWindowsファイルのCRLF改行をそのまま解釈するため、スクリプトが途中で失敗することがあります。
この問題は、CodexがPATH解決を迂回し、WSLランチャー(C:\Windows\System32\bash.exe)を直接使用することが原因です。普段のコマンドがPowerShellで実行されるため、.sh実行時という特殊な経路でしか気づきにくいという厄介な側面があります。
解決策1: config.tomlでの固定:
~/.codex/config.tomlに以下の設定を追加することで、この問題を解決できます。
[ windows ] agent_shell = "git-bash"
agent_shellの値は「power-shell」または「git-bash」が指定可能です。この設定により、CodexはWSLランチャーへの解決を飛ばし、最初からGit Bashを使用するようになります。手元のCodex CLI 0.140.0系で効果が確認されています。
解決策2: グローバルAGENTS.mdへの明記(保険):
設定が効かない旧バージョンに備え、~/.codex/AGENTS.md(全プロジェクト共通で読み込まれる指示ファイル)に以下の禁止事項を明文化しておくことも有効です。
bashを裸で呼ばない(C:\Windows\System32\bash.exe = WSLランチャーに解決される事故を防ぐため)- bashが必要な場合は必ずGit Bashのフルパス(C:\Program Files\Git\bin\bash.exe)で呼ぶ
wsl/wsl.exeを実行しない- 実行前に
unameの結果がLinux(= WSL)だったら即中断しGit Bashに切り替える
自然言語指示のため確実性は設定キーより一段落ちますが、「なぜダメか」の理由(CRLFでデプロイが失敗した実害)も添えておくと、従ってくれる率が上がる可能性があります。
確認方法:
新しいセッションでCodex CLIに「.sh を実行する時に使う bash で uname -a を実行して」と尋ねることで、設定が効いたかを確認できます。
- 返答が「MINGW64_NT-10.0-26200 xxxx 3.6.7 x86_64 Msys MINGW64_NT」(= Git Bash / MSYS)であればGit Bashへの固定が成功しています。
- 「Linux」が返された場合は、まだWSLが使用されています。
どんな人に向いているか
この情報は、Windows環境でCodex CLIを利用しているユーザー向けです。macOSやLinux環境では発生しない問題のため、Windowsユーザーに特化しています。特に、WSLをインストール済みで、Codex CLIに.shスクリプトを実行させる際にWSLが意図せず起動することを避けたいと考えているユーザーに適しています。WSLは残したいが、AIエージェントに勝手に起動されたくないという運用方針の人の参考になるでしょう。
競合ツールとの位置づけ
Codex CLIのこの問題は、「bashを積極的に使おうとするエージェントが、Windowsでbashを探すとWSLランチャーに当たる」という、Windows環境におけるAIエージェント共通の落とし穴であると考えられます。
問題が起きない組:
- Claude Code: Bashツールがハーネス側でGit Bashに固定されており、モデルの判断でWSLに落ちる経路がそもそもありません。
- Copilot CLI: WindowsネイティブではPowerShellで実行されます。Git Bashを強制する公式設定がないという不満がcommunity discussionで報告されています。
- Grok CLI: PowerShell用のネイティブインストーラーが配布されており、これもPowerShellで実行されます。
これらのツールが安全なのは、裏を返せばbashを積極的に使いにいかないためと考えられます。
同じ問題が報告されている組:
- Cursor(Agent): 「既定の統合ターミナルをGit Bashにしているのに、Agentのコマンド実行だけWSLで走る」という、今回とそっくりの報告が公式フォーラムのBug Reportsに上がっています。
- opencode: SHELL環境変数をGit Bash指定(OPENCODE_GIT_BASH_PATH)より優先してWSL bashを掴むという報告があり、Git Bash / cmd / PowerShellを意識したシェル選択の改善提案も出ています。
このことから、Codex CLIの問題は、特定のAIエージェントに限定されないWindows環境における共通の課題であることが示唆されます。
まとめ
Codex CLIがWindows環境で.shスクリプト実行時にPATHを無視してWSL bashを起動する問題が報告されています。この問題は、~/.codex/config.tomlに[windows] agent_shell = "git-bash"を設定することで解決可能です。保険として、グローバルAGENTS.mdにWSL禁止の指示を明記することも有効です。
設定が正しく適用されたかは、uname -aコマンドの実行結果が「MINGW64_NT」を返すかで確認できます。同様の問題はCursor(Agent)やopencodeでも報告されており、WindowsとAIエージェントの組み合わせにおける共通の課題として認識されています。WSLを残しつつ、AIエージェントによる意図しない起動を避けたいユーザーにとって、この対策は有効な情報となるでしょう。
出典: https://qiita.com/ishizakahiroshi/items/acec7f7c24db713cfcbe
PR / Recommended
業務効率化に役立つクラウドPC・Windowsサーバー
リモートワークや業務自動化、AIツールの常時稼働には専用のWindows環境が便利です。低コストで導入できる仮想デスクトップサービスを活用すると、自宅PCの負荷を気にせず業務を進められます。
Daily AI Tools
最新AIツールを毎日日本語でレビュー
副業・スタートアップ・中小企業のDX推進に役立つAIツールの使い方、料金比較、活用事例を毎朝配信。


コメント