WinGet版Codex CLIでcodexコマンドで起動できない問題の対策方法
非管理者権限かつWindowsの開発者モードがOFFの状態でWinGetからCodex CLIをインストールすると、codexコマンドの実行に必要なalias(WinGet\Links\codex.exe)が作成されず、実行時にエラーとなります。
問題の背景
WinGet版Codex CLIは、インストール時に以下のパスへ実行用のシンボリックリンクを作成する設計になっています。
%LOCALAPPDATA%\Microsoft\WinGet\Links\codex.exe
Windowsでは、一般ユーザーがシンボリックリンクを作成するには次のいずれかが必要となります。
- 管理者権限での実行
- Windowsの「開発者モード」がON
これらを満たさない場合、WinGetによるインストール自体は成功と表示されますが、Links\codex.exeの作成に失敗し、結果としてcodexコマンドが解決できない状態になります。なお、WinGetはこのリンク作成失敗を致命的エラーとして扱わず、インストールログ上も成功と表示されるため、問題に気づきにくい状況になります。
これらを満たさない場合、WinGetによるインストール自体は成功と表示されるが、Links\codex.exeの作成に失敗し、結果としてcodexコマンドが解決できない状態になる。
回避条件(いずれかを満たす必要がある)
- Windowsの開発者モードをONにする(推奨)
- 設定UIからの有効化
- もしくはレジストリによる有効化
- 管理者権限でWinGetを実行する
管理者権限での実行は毎回意識する必要があり忘れやすいため、恒久的な対策としては開発者モードをONにするか、レジストリ設定で有効化する方法を推奨します。
レジストリによる開発者モード有効化について
開発者モードはレジストリ設定により有効化可能です。
具体的には、HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock配下の設定により制御されています。
PowerShellから登録する場合は、管理者権限で次のコマンドを実行します。
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" `
/v AllowDevelopmentWithoutDevLicense `
/t REG_DWORD `
/d 1 `
/f
重要な注意点(共通)
いずれの回避策を取った場合でも、開発者モードや権限状態を変更した後にCodex CLIの再インストールが必須です。
既存インストールではリンク作成処理は再実行されないため、状態変更後に再インストールしなければ問題は解消しません。
Discussion