Codex CLIをインストールして最初のタスクを実行する方法

Windows 11、macOS、LinuxにCodex CLIをインストールする4つの方法、導入確認、公式ログインとcustom providerの安全な使い分けを解説します。

目次

Codex CLIは、OpenAIがRustで開発したターミナル型のコーディングエージェントです。ローカル環境で動作し、リポジトリ内のコードを扱いながら、隔離された環境でタスクを実行します。インストール方法は、スタンドアロンインストーラー、npm、Homebrew cask、GitHub Releasesのバイナリの4つです。

インストール後は、互いに独立した2つの接続方法から選びます。ChatGPTまたはOpenAI API Keyを使うOpenAI公式ログインと、自分のAPI Keyを使うcustom providerです。どちらも同じcodexコマンドを使うため、別のクライアントをインストールする必要はありません。

インストール前に必要なもの

公式インストールガイドに記載された基本システム要件は次のとおりです。

  • macOS: 12(Monterey)以降。
  • Linux: Ubuntu 20.04以降、またはDebian 10以降。
  • Windows: WSL2を使用するWindows 11。ネイティブWindowsには別のドキュメントがあります。

Node.jsが必要なのは、npmでインストールする場合だけです。スタンドアロンインストーラー、Homebrew cask、GitHub Releasesのアーカイブでは、実行可能ファイルがそのままインストールされます。

ChatGPTによる公式ログインにはChatGPTアカウント、OpenAI公式APIを使う場合はplatform.openai.comのキーが必要です。Custom providerには、自分のBetterTokenアカウント、API Key、現在のModel IDが必要です。Node.jsは、npmによるCodexのインストールまたはproviderの自動設定スクリプトを使う場合に限って必要です。

Codex CLIをインストールする

macOSとLinux — スタンドアロンインストーラー

最も簡単な方法で、Node.jsは不要です。

curl -fsSL https://chatgpt.com/codex/install.sh | sh

インストールが完了したら、コマンドを確認します。

codex --version

バージョン番号が表示されれば、コマンドを利用できます。

Codexをインストールできたら、最新ガイドに従って自分のAPI Keyを接続します。 まず現在のDocsで設定フィールドを確認し、まだ自分のキーがなければBetterTokenアカウントを作成してください。

macOS — Homebrew cask

brew install --cask codex

npm — macOS、Linux、Windows

動作するnpmを含むNode.jsが必要です。最低Node.jsバージョンは、npmjs.com/@openai/codexにあるパッケージのenginesフィールドで確認してください。

npm install -g @openai/codex

インストール後にcodexコマンドが見つからない場合は、npmのグローバルディレクトリがPATHに含まれていません。正しい場所を確認します。

npm config get prefix

表示されたディレクトリとシェルのPATHを比較し、ターミナルを再起動してください。確認せずに/binを追加してはいけません。グローバル実行ファイルの構成は、OSとNode.jsのインストール方法によって異なります。

Linux — GitHub Releasesのバイナリ

github.com/openai/codex/releasesでは、すぐに使えるLinux用アーカイブが公開されています。

  • codex-x86_64-unknown-linux-musl.tar.gz — x86_64向け
  • codex-aarch64-unknown-linux-musl.tar.gz — arm64向け

アーカイブを展開し、実行可能ファイルをcodexに名前変更して、書き込み可能なPATH内のディレクトリへ配置します。

Windows

Codex CLIは、Windows上でネイティブに実行することも、WSL2内で実行することもできます。現在のWindowsドキュメントでは、ネイティブ利用の推奨環境はWindows 11です。すべての更新を適用したWindows 10は、best-effortでサポートされます。

ネイティブWindows(PowerShell)。 公式インストーラーを実行します。

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

ネイティブ実行では、CodexはWindows Sandboxを使ってタスクの実行を隔離します。モードは~/.codex/config.tomlで設定します。

[windows]
sandbox = "elevated"
  • "elevated": 推奨。専用のsandboxユーザーとファイアウォールルールを使用します。
  • "unelevated": 専用sandboxを使わず、現在のユーザーにACL制限を適用します。

WSL2。 Linux向け手順に従い、WSL2内にCodex CLIのLinux版をインストールします。Linuxツールを使う場合、OpenAIはプロジェクトを/mnt/配下ではなくWSLのファイルシステムに保存することを推奨しています。

同じCodex CLIをBetterToken APIへ接続する

BetterTokenがCodex CLIを別のアプリケーションに置き換えるわけではありません。OpenAI公式のcodex実行ファイルをそのまま使い、~/.codex/config.tomlでcustom providerを選択します。Codexのリクエストは、Base URL `https://www.bettertoken.ai/v1%60%E3%82%92%E9%80%9A%E3%81%98%E3%81%A6OpenAI?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-044&utm_content=ustanovit-codex-cli-pervyy-zapusk Responsesを使用します。

移行は、次の3段階で進めます。

  1. 自分のBetterTokenアカウントと専用API Keyを作成します。共有キーは使わないでください。
  2. 最新のBetterToken Codexガイドを開き、現在のモデル一覧からModel IDとproviderフィールドをコピーして、実行中のCodexを完全に終了します。Model ID、グループ名、認証フィールドが固定だと想定しないでください。
  3. 競合する古いOpenAI環境変数を削除し、現在のDocsどおりにprovider設定を適用します。新しいターミナルでCodexを完全に再起動し、小さな読み取り専用タスクを実行した後、BetterToken Dashboardでリクエスト、モデル、ステータス、input/output/cache tokenの使用量を確認します。

macOSとLinuxでは、競合する変数を削除します。

unset OPENAI_API_KEY
unset OPENAI_BASE_URL

Windows PowerShellでは、現在のセッションと今後のユーザーセッションから削除します。

Remove-Item Env:OPENAI_API_KEY -ErrorAction SilentlyContinue
Remove-Item Env:OPENAI_BASE_URL -ErrorAction SilentlyContinue
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", $null, "User")
[Environment]::SetEnvironmentVariable("OPENAI_BASE_URL", $null, "User")

BetterToken providerを自動設定する

このスクリプトが設定するのはBetterToken providerだけで、Codex CLI自体はインストールしません。Node.jsが必要です。API Keyやモデルを引数で渡さない場合は対話型ターミナルで入力を求められるため、secretをコマンドラインに書かないでください。

macOSとLinux:

curl -fsSL https://www.bettertoken.ai/install-codex-provider.sh?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-044&utm_content=ustanovit-codex-cli-pervyy-zapusk | bash

Windows PowerShell:

iwr https://www.bettertoken.ai/install-codex-provider.ps1?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-044&utm_content=ustanovit-codex-cli-pervyy-zapusk -OutFile "$env:TEMP\install-codex-provider.ps1"; powershell -ExecutionPolicy Bypass -File "$env:TEMP\install-codex-provider.ps1"

認証フィールドとcredentialの保存方法は、Codexのsurfaceやクライアントバージョンによって異なります。そのため、この記事では特定のauth booleanを固定せず、OpenAI公式ログインとcustom providerを1つの設定例に混在させません。

対象のsurfaceを最新のBetterToken Codexガイドで選び、現在のModel IDとproviderフィールドをコピーして、変更後にCodexを完全に再起動してください。Secretは記事本文やコマンドラインではなく、現在のDocsで指定された方法だけで渡します。

OpenAI公式認証

以下のコマンドは、OpenAI公式ルートだけに適用されます。BetterToken custom providerを使う場合、codex login statusではBetterToken APIを検証できません。テストタスクを実行し、Dashboardの記録を確認してください。

ChatGPTでサインインする

次のコマンドを実行します。

codex login

ブラウザが開いたら、自分のChatGPTアカウントでサインインを完了します。Codexはセッションをローカルに保存するため、次回以降は通常、再ログインする必要がありません。

認証前に引数なしでcodexを実行した場合も、インターフェースからサインインを求められます。サインインを開始する基本の方法はcodex loginです。

API Keyでサインインする

キーをコマンド引数として渡したり、echoで表示したりしないでください。値がshell historyに残ります。

現在の環境またはsecret managerでOPENAI_API_KEYを設定します。値を記事、コマンド、出力へ書かないでください。変数を設定したら、stdinから渡します。

printenv OPENAI_API_KEY | codex login --with-api-key

キーは画面に表示されず、コマンド履歴にも入りません。

認証状態を確認する

サインイン後、状態を確認します。

codex login status

現在の認証方法、または未ログインであることが表示されます。

未認証と表示された場合は、該当する方法でサインインをやり直してください。

サインアウトして保存済みcredentialを削除するには、次を実行します。

codex logout

~/.codex/auth.jsonにはaccess tokenが含まれます。パスワードと同じように扱ってください。手動では削除せず、必ずcodex logoutで消去します。

認証ドキュメント: developers.openai.com/codex/auth。Loginサブコマンドとフラグのリファレンス: developers.openai.com/codex/cli/reference。

テスト用リポジトリで最初のタスクを実行する

作業中のコードへ影響を与えないよう、最初はテスト用リポジトリを使います。公開リポジトリを1つcloneしてください。ここではCodex自体を例にします。

git clone https://github.com/openai/codex codex-test
cd codex-test

読み取り専用タスクを実行します。

codex --sandbox read-only "Explain the entry point of this project"

--sandbox read-onlyフラグは、モデルが生成するコマンドを読み取りに制限します。Codexがファイルを変更せず、構造を意味のある形で説明できれば、初回実行は完了です。

同じ制限のままTUIを続けるには、次を実行します。

codex --sandbox read-only

インターフェースにWhat files are in this project and what does each do?と入力します。

OpenAI公式ルートを使っている場合は、認証が有効なままか確認します。

codex login status

BetterToken providerを使っている場合は、通常の応答が接続確認になります。さらにBetterToken Dashboardを開き、リクエスト、モデル、ステータス、input/output/cache tokenの使用量が履歴に表示されることを確認してください。

トラブルシューティング

npmインストール後にcodex: command not foundと表示される

npm config get prefixを実行し、結果をPATHと比較して、ターミナルを再起動します。実行ファイルの正確な場所はOSとNode.jsのインストール方法によって異なるため、確認せずに/binを追加しないでください。

ChatGPTサインイン時にブラウザが開かない

GUIのないリモートサーバーでは、まずOpenAI公式のdevice-code flow(beta)を試します。

codex login --device-auth

事前にChatGPTのsecurity settingsまたはworkspace permissionsで有効にする必要があります。利用できない場合は、API Keyでサインインします。

printenv OPENAI_API_KEY | codex login --with-api-key

Callback、device code、代替方法については、公式認証ガイドを参照してください。

BetterToken接続後にCodexが応答しない

5項目を確認します。base_urlがhttps://www.bettertoken.ai/v1%60%E3%81%A7%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%80%81%60wire_api%60%E3%81%8C%60responses%60%E3%81%AE%E3%81%BE%E3%81%BE%E3%81%A7%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%80%81Model?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-044&utm_content=ustanovit-codex-cli-pervyy-zapusk IDとproviderフィールドを現在のBetterToken Docsから取得したこと、model_providerが選択した[model_providers.*]テーブルに一致すること、古いOPENAI_API_KEYまたはOPENAI_BASE_URLが設定を上書きしていないことです。config.toml`を編集したら、新しいターミナルでCodexを完全に再起動してください。

codex login statusにNot logged inと表示される

  • ChatGPTログイン: codex loginを再実行し、ブラウザでサインインを完了します。
  • API Keyログイン: 作業環境にOPENAI_API_KEYが設定されていることを確認し、printenv OPENAI_API_KEY | codex login --with-api-keyを再実行します。
  • ~/.codex/auth.jsonを手動で削除せず、codex logoutを使ってください。

Codex CLIドキュメント: developers.openai.com/codex/cli。同じCodex CLIをBetterToken APIへ接続する方法: docs.bettertoken.ai/en/ai-tools/codex。

LLM ワークフローを最適化しませんか?

単一 API でモデルを接続し、キーと AI コストを管理できます。

無料で始める