AI 活用記事AIコーディングツール

Codex CLIの使い方|インストールからexec・料金まで実機検証

Codex CLIの使い方を、インストール・ChatGPTログイン・codex exec・サンドボックス・モデル切替・料金の目安まで実機で解説。同じ課題を12回実行した所要時間とトークン数、既定では修正が反映されない落とし穴も載せます。

AIコーディングツール、、読了時間:20分

引き潮の岩場にできた潮だまり。フジツボの付いた黒い岩に囲まれた澄んだ水の底に、小石や巻き貝、海藻が見え、岩の外側では灰緑色の海に白い波が立っている

Codex CLIは、公式インストーラで入れて codex login でChatGPTにサインインすれば、そのまま使えます。対話で使うなら codex、スクリプトやCIから使うなら codex exec です。編集部が2026年10月21日にCodex CLI 0.163.0で同じ課題を12回実行したところ、バグ修正は中央値16.8秒、機能追加は中央値31.2秒で、書き込みを許可した10回はすべてテストに通りました。ただし**codex exec は既定で読み取り専用**のため、そのまま修正を頼むとファイルは変更されず、終了コードは0のまま終わります。

Codex CLIとは、OpenAIが提供する、ターミナル上でコードを読み、編集し、コマンドを実行するAIコーディングエージェントで、ChatGPTのプラン(Free・Go・Plus・Pro・Business・Edu・Enterprise)に含まれるか、APIキーの従量課金で使えます。本記事の仕様と料金は、2026年10月21日(日本時間)に公式ドキュメントで確認した内容です。

結論:やりたいこと別のコマンド早見表

最初に覚えるのは次の6つです。下の表は、公式ドキュメントの記載と、編集部が実際に打って動作を確かめた結果をまとめたものです。

やりたいこと コマンド 補足
インストール・更新(macOS/Linux) curl -fsSL https://chatgpt.com/codex/install.sh | sh 更新も同じ。codex update でも可
ログイン codex login 確認は codex login status
対話で使う codex プロジェクトのディレクトリで起動
1回だけ実行(自動化) codex exec "指示" 既定は読み取り専用
ファイルを書き換えさせる codex exec --sandbox workspace-write "指示" 作業ディレクトリ内の編集を許可
直前の続き codex exec resume --last "指示" 前回の会話を引き継ぐ

検証した環境と方法

数字はすべて、編集部が自分の環境で走らせた実行ログから取りました。条件は次のとおりです。

  • 日付:2026年10月21日(日本時間14時11〜15分に全12回)
  • 環境:Linux(x64)、Node.js 20.19.2、git 2.47.3
  • Codex CLI:0.163.0、ChatGPTでサインイン(codex login status の表示は Logged in using ChatGPT)
  • モデル:指定なし(Codexの既定)。実行記録上のモデルは gpt-6.1-sol、推論レベルは未指定でした。比較用に3回だけ -m gpt-6-luna を付けています。
  • 課題:テスト付きの小さなNode.jsプロジェクト(小計と税込価格の計算)。小計が数量を掛けない、税込価格が四捨五入になっている(仕様は1円未満切り捨て)という2つのバグを仕込み、開始時点のテストは5件中3件が失敗する状態にしました。毎回まっさらなgitリポジトリを作り直し、同じ指示文で実行しています。

実行スクリプトは scripts/experiments/codex-cli-runs.mjs、数値データは data/experiments/2026-10-21-codex-cli-runs.json です(記事末尾の注記)。

インストールとログイン

公式の手順はインストーラ1行とログイン1回です。編集部はいま使っている環境を壊さないよう、使い捨てのホームディレクトリで公式インストーラを実行しました。実際の出力です(一部の行を省略し、パスは短くしています)。

$ curl -fsSL https://chatgpt.com/codex/install.sh | sh
==> Installing Codex CLI
==> Detected platform: Linux (x64)
==> Resolved version: 0.163.0
==> Downloading Codex CLI
==> Installing standalone package to ~/.codex/packages/standalone/releases/0.163.0-x86_64-unknown-linux-musl
==> PATH was added to ~/.bashrc
Codex CLI 0.163.0 installed successfully.

$ codex --version
codex-cli 0.163.0

インストーラは ~/.local/bin/codex を置き、PATHの設定を ~/.bashrc に追記しました。新しいターミナルを開けば codex で起動できます。npmのパッケージ @openai/codex も同じ0.163.0が公開されていることを npm view で確認しました。公式ページにはWindows・npm・Homebrewのタブもありますが、本記事ではLinuxでのみ検証しています。

ログインしていない状態で codex login status を打つと Not logged in(終了コード1)、ログイン済みなら Logged in using ChatGPT(終了コード0)と表示されました。サインインの方法は公式ドキュメント「Authentication」によると次の3つです。

方法 コマンド 料金のかかり方
ChatGPTでサインイン codex login ChatGPTプランの使用量から消費
APIキー printenv OPENAI_API_KEY | codex login --with-api-key OpenAI APIの標準料金で従量課金(プランの使用量は使わない)
デバイスコード(ベータ) codex login --device-auth ブラウザのない機械向け。ChatGPT側の設定で有効化が必要

ログイン情報は ~/.codex/auth.json(またはOSの資格情報ストア)に保存され、公式は「パスワードと同じように扱う」よう求めています。キーや認証ファイルを外部ツールに預けるリスクは、OpenCodeのAPIキー漏洩の件がわかりやすい例です。

対話モードと codex exec の違い

日々の開発では対話モード、決まった作業の自動化では codex exec を使います。

  • 対話モード(codex):プロジェクトのディレクトリで起動し、チャットしながら作業を進めます。/model でモデル、/permissions で権限を切り替えられます。公式によると、git管理下のフォルダでは「書き込み可+必要なときに承認」、git管理外では読み取り専用が推奨の初期設定です。
  • codex exec:ターミナルの画面を開かずに1回だけ実行します。進捗は標準エラー、最終メッセージだけが標準出力に出るので、シェルスクリプトやCIに組み込めます。gitリポジトリの中で実行する前提で、外で使うときは --skip-git-repo-check を付けます。

codex --help には、ほかにも review(変更のコードレビュー)、doctor(インストール・設定・認証の診断)、update(更新)、mcp(外部MCPサーバーの管理)、apply(Codexが作った差分を適用)などが並んでいました。本記事の計測はすべて codex exec で行い、対話モードは計測していません。

つまずきやすい点:既定のexecは読み取り専用

codex exec に修正を頼むときは、必ず --sandbox workspace-write を付けます。付けないと、修正案は返ってきてもファイルは変わりません。

編集部が既定のまま「npm test が通るようにバグを直して」と頼んだ実行(19.5秒)では、Codexは2つの原因を正しく特定して修正の差分まで示したうえで、最終メッセージを次のように締めくくりました。

現在の環境は読み取り専用のため、修正を適用できませんでした。`npm test` の失敗は確認しましたが、修正後の全件成功は未確認です。書き込み可能な環境での実行が必要です。

このときファイルの変更は0行で、プロセスの終了コードは0でした。CIやスクリプトで「終了コード0=修正済み」と判断すると見落とします。公式ドキュメント「Non-interactive mode」も、codex exec の既定のサンドボックスを読み取り専用と明記しています。

サンドボックスと承認の設定は、公式ドキュメント「Agent approvals & security」によると次のとおりです。

設定 指定方法 できること
読み取り専用 --sandbox read-only(execの既定) 読む・調べる・提案する。編集はしない
作業ディレクトリへの書き込み --sandbox workspace-write 作業ディレクトリ内の編集とコマンド実行。ネットワークは既定でオフ
制限なし --sandbox danger-full-access サンドボックスなし。公式は非推奨で、管理された環境でのみ
ネットワークを許可 -c 'sandbox_workspace_write.network_access=true' workspace-write のままネットワークを有効化

以前の解説記事でよく見る --full-auto は、現在は非対応です。公式は --sandbox workspace-write に置き換えるよう案内しています。なお、今回の実行記録では、codex exec の承認ポリシーは never(確認を求めず、サンドボックスの範囲内で進める)でした。

実測:同じ課題を12回走らせた結果

書き込みを許可した10回は、すべてテストに通りました。グループごとの中央値です。

課題(指定) 回数 所要時間 中央値 入力トークン 中央値(うちキャッシュ) 出力トークン 中央値 テスト
構成の説明(既定) 1 12.2秒 44,291(40,704) 343 変更なし(指示どおり)
バグ修正(既定の読み取り専用) 1 19.5秒 44,181(40,448) 601 変更されず、3件失敗のまま
バグ修正(書き込み可) 3 16.8秒(15.5〜20.3) 61,191(53,248) 439 3回とも5/5通過
バグ修正(書き込み可・Luna) 3 12.7秒(10.9〜13.2) 88,182(82,944) 651 3回とも5/5通過
機能追加(書き込み可) 3 31.2秒(28.2〜32.0) 78,906(70,912) 1,281 3回とも全件通過、隠しテスト7/7
resumeで追記(書き込み可) 1 11.2秒 132,654(123,264) 1,550 全件通過
codex exec の所要時間のドットプロット。中央値は構成の説明12.2秒、既定のバグ修正19.5秒(変更されず)、書き込み可のバグ修正16.8秒、GPT-6 Lunaでのバグ修正12.7秒、機能追加31.2秒、resumeでの追記11.2秒。出典は編集部の実測12回
codex exec の所要時間(1点=1回の実行)。出典: 編集部の実測(2026年10月21日、Codex CLI 0.163.0)

数字から読み取れることは次の4つです。

  1. バグ修正の中身は6回とも同じでした。 書き込み可の3回とGPT-6 Lunaの3回は、いずれも「単価×数量を足す」「Math.round を Math.floor にする」という同じ2行の修正で、テストファイルには触れていません。
  2. 機能追加では、頼んでいない修正も入りました。 機能追加の3回は、指示した parseDuration の実装とテストに加え、「npm test がすべて通ること」を満たすために既存の2つのバグも直しました(3回とも最終メッセージで報告あり)。Codexには見せていない採点用テスト7件はすべて通過しましたが、変更の範囲は指示より広がるため、差分は必ず確認してください。
  3. 入力トークンの大半はキャッシュでした。 入力のうちキャッシュ分は86〜94%(全12回)。1回の小さな作業でも、入力は4万〜13万トークン規模になりました。キャッシュの料金の仕組みと、2026年10月に追加された12時間キャッシュについてはOpenAIのプロンプトキャッシュ12時間とはで整理しています。
  4. 今回の小さな修正では、GPT-6 Lunaのほうが短時間でした(中央値12.7秒、既定のモデルでは16.8秒)。ただし各3回だけの結果で、難しい課題での差は測っていません。

codex exec resume --last は、直前の会話(ここでは機能追加)を引き継いで1行追記するだけの作業で11.2秒でした。文脈を引き継ぐぶん、入力トークンは12回の中で最大の132,654でした。

--json で結果を機械的に読む

--json を付けると、標準出力が1行1イベントのJSONになり、トークン数をスクリプトから取り出せます。今回のバグ修正(書き込み可)1回目の出力から、最後の行をそのまま載せます。

{"type":"turn.completed","usage":{"input_tokens":60968,"cached_input_tokens":56448,"cache_write_input_tokens":0,"output_tokens":445,"reasoning_output_tokens":0}}

この1回の流れは、thread.started → turn.started → コマンド実行(ファイル一覧・内容確認と npm test)→ ファイル変更(2ファイル)→ npm test の再実行 → 最終メッセージ → turn.completed でした。公式のイベント型は thread.started・turn.started・turn.completed・turn.failed・item.*・error です。ほかに便利なオプションは次の3つです。

  • -o ファイル名:最終メッセージをファイルにも書き出す。
  • --output-schema スキーマ.json:最終回答をJSONスキーマに沿った形で返させる。
  • --ephemeral:セッションの記録をディスクに残さない。

なお、編集部の実行では毎回、標準エラーに Reading additional input from stdin... と表示されました。公式ドキュメントによると、指示文とあわせて標準入力をパイプで渡すと、その内容が追加の文脈として読み込まれます。cronなどから呼ぶときは、標準入力に何もつながっていないことを確かめておくと安全です。

モデルの切り替え

モデルを指定しなければ、Codexの推奨モデルが使われます。今回の実行記録では gpt-6.1-sol でした。公式ドキュメント「Models」は、複雑なコーディングにはGPT-6.1 Solを、大量の定型作業にはGPT-6 Lunaを挙げています。

  • 1回だけ切り替える:codex exec -m gpt-6-luna "指示"
  • 起動時に指定する:codex --model gpt-6.1-sol
  • 既定を変える:~/.codex/config.toml に model = "gpt-6.1-sol"
  • 対話中に切り替える:/model

推論レベル(Low・Medium・High・Extra High・Max・Ultra)も選べます。公式は「既定から始め、計画や分析が必要なときに上げる」よう勧めています。なお、GPT-5.5はChatGPTでサインインしたCodexから米国時間2026年10月14日に提供終了しているため、古い設定ファイルに gpt-5.5 が残っていれば書き換えが必要です。

AGENTS.mdで指示を固定する

毎回伝えたいルール(テストの実行方法、触ってはいけないファイルなど)は、リポジトリの AGENTS.md に書いておきます。公式ドキュメントによると、Codexは作業を始める前にAGENTS.mdを読みます。

  • ~/.codex/AGENTS.md:全プロジェクト共通の指示。
  • リポジトリのルートから作業ディレクトリまでの各階層の AGENTS.md:上から順に連結され、作業ディレクトリに近いものほど後に置かれて優先されます。
  • AGENTS.override.md:同じ階層のAGENTS.mdより優先される一時的な上書き。
  • 合計の上限は既定で32KiBで、超えた分は読み込まれません。

今回のフィクスチャにはAGENTS.mdを置いていません。実行ログを見ると、GPT-6.1 Solで新しく始めた8回は、いずれも最初のコマンドでAGENTS.mdを探していました(GPT-6 Lunaの3回とresumeでは見られませんでした)。AGENTS.mdを置いた場合の効果は、本記事では測っていません。

料金と使用量の目安

CodexはChatGPTのプランに含まれ、Freeから使えます。プランごとの月額と、5時間あたりの使用量の目安(公式ドキュメント「Pricing」、2026年10月21日取得)です。

プラン 月額(公式表示) Codexの使用量
Free $0 短いコーディング作業を試す用途。5時間あたりの目安は記載なし
Go $8 軽いコーディング作業向け。5時間あたりの目安は記載なし
Plus $20 5時間あたりローカルメッセージ:GPT-6.1 Sol 15〜160、GPT-6 Luna 350〜3,000
Pro $100〜($100・$200・$500) 現在、5時間の上限なし
Business $20/人(年払い・2人〜)、月払いは$25/人 Plusと同じ目安(Standard Business)
Enterprise・Edu 要問い合わせ −
APIキー サブスクなし OpenAI APIの料金で従量課金

公式は、上の数字は固定の上限ではなく目安で、「モデル、文脈の量、推論、ツールの使用、キャッシュ」で消費が変わり、週の上限がかかる場合もあるとしています。現在の残量とリセット時刻は利用状況のダッシュボードで確認します。プランの枠を使い切ったあとは、購入したクレジットで続けられます。

クレジットの単価は1Mトークンあたり、GPT-6.1 Solが入力50・キャッシュ入力2.5・出力250、GPT-6 Lunaが入力2.5・キャッシュ入力0.25・出力12.5です。これを今回の実測トークンに当てはめると、次のようになります(試算)。

課題 1回あたりのクレジット(試算)
バグ修正(GPT-6.1 Sol、3回) 0.48〜0.66(中央値0.64)
機能追加(GPT-6.1 Sol、3回) 0.69〜1.07(中央値0.90)
バグ修正(GPT-6 Luna、3回) 0.042〜0.044(中央値0.043)

計算式は「{(入力−キャッシュ入力)×入力単価+キャッシュ入力×キャッシュ単価+出力×出力単価}÷1,000,000」です。たとえばバグ修正(3回目)は{(61,191−53,248)×50+53,248×2.5+439×250}÷1,000,000≒0.64になります。入力トークンにキャッシュ分が含まれるという前提で計算していますが、公式ドキュメントにこの点の明記はありません(未確認)。また、クレジット1単位あたりの円・ドル価格は「プランや契約による」とされており、記事では金額に換算していません。プランの枠内で使っている間は、このクレジットは消費されません。

Claude Codeの料金体系(Pro・Max・API)と実測の消費量は、Claude Codeの料金|Pro・Maxの違いと実測コストにまとめています。両方を契約して使い分けるかどうかを考えるときの比較材料になります。

まだ確かめていないこと

今回の結果は、小さな課題1種での12回の実行にもとづきます。次の点は検証していません。

  • Windows・macOSでのインストールと動作(Linuxのみ)。
  • 大きなリポジトリや、Node.js以外の言語での所要時間・トークン量。
  • 対話モード、IDE拡張、クラウド(Codex cloud)、MCPサーバー連携。
  • AGENTS.mdを置いた場合の挙動の変化。
  • 推論レベルを上げたときの差。
  • Claude Codeとの同じ課題での比較(編集部の環境のClaude Codeが今回はログインしておらず、実行できませんでした)。

OpenAIのモデルがレガシーなコードの移行でどこまで正確か、という評価の話は、OpenAIのCOBOL移行性能とはで扱っています。社内でCodexのようなツールを使い始める前に、入力してよい情報の線引きを決めておく方法は社内AI利用ルールの作り方が参考になります。

よくある質問

Q. Codex CLIは無料で使えますか?

使えます。公式ドキュメントでは、CodexはChatGPTのFreeプランにも含まれており、短いコーディング作業を試す用途と説明されています。より多く使うにはGo(月8ドル)、Plus(月20ドル)、Pro(月100ドルから)などのプランか、APIキーによる従量課金を選びます。

Q. Codex CLIのインストール方法は?

macOSとLinuxでは、公式のインストーラを1行実行します。編集部の環境では、Codex CLI 0.163.0が入り、PATHの設定も自動で追記されました。更新するときも同じコマンドを実行するか、codex update を使います。npmのパッケージとしても同じ版が公開されています。

Q. codex execで修正を頼んだのにファイルが変わりません。なぜですか?

codex execは既定で読み取り専用のサンドボックスで動くためです。編集部の実測では、修正案の差分は示されたもののファイルは変更されず、終了コードは0でした。ファイルを書き換えさせるには、--sandbox workspace-write を付けて実行します。

Q. ChatGPTでサインインする場合とAPIキーの場合は何が違いますか?

ChatGPTでサインインすると、使用量はChatGPTのプランから消費されます。APIキーでサインインすると、OpenAI APIの標準料金で従量課金され、プランに含まれる使用量は使われません。公式ドキュメントは、CIなどの自動化ではAPIキーを、必要なコマンドだけに環境変数として渡すことを勧めています。

Q. 1回の実行でどれくらい時間とトークンがかかりますか?

編集部が小さなNode.jsプロジェクトで測った結果では、2つのバグの修正が中央値16.8秒・入力約6万トークン(うち約5万がキャッシュ)・出力約440トークン、新しい関数の追加が中央値31.2秒・入力約8万トークン・出力約1,300トークンでした。課題とリポジトリの大きさで大きく変わるため、目安として扱ってください。

参考にした公式情報

仕様と料金は変わることがあるため、最新情報は公式で確認してください。取得日はいずれも2026年10月21日(日本時間)です。

自社で AI をどう使えるか、約3分で診断する

全8問に答えると、AI 導入の準備度と、最初に試す活用アイデアがわかります。

関連記事

すべてを表示