
OpenAI Codex CLI 実践入門 - ターミナル自律エージェントを Claude Code と並べて使う
このブログでは Claude Code を中心に AIコーディングを扱ってきましたが、「ターミナルで動く自律型エージェント」は Claude Code だけではありません。OpenAI の Codex CLI は、その最有力の対抗馬です。
面白いのは、両者が驚くほど似た形をしていること。AGENTS.md・MCP・承認モードといった土台が共通で、違うのは「どのモデルで・どう認証して動かすか」が中心です。この記事では、Claude Code を使ってきた目線で Codex CLI を整理し、共通点と違いを実務目線でまとめます。
Codex CLI とは
Codex CLI は、OpenAI が出しているターミナル型のコーディングエージェントです。手元のディレクトリでコードを読み・変更し・実行できます。特徴はこうです。
| 項目 | 内容 |
|---|---|
| 実装 | Rust 製。軽量で高速 |
| ライセンス | オープンソース(Apache-2.0) |
| 動作 | ローカルのターミナルで対話的に動く(TUI) |
| モデル | OpenAI のコーディング向けモデル(GPT-5 系)。/model で切替 |
| 認証 | ChatGPT アカウントでサインイン、または API キー |
| 拡張 | AGENTS.md と MCP に対応 |
NOTE
モデルは /model コマンドで切り替えられます。Codex は OpenAI のコーディング向けモデル(GPT-5 系)で動きますが、既定モデル名は更新が速いため、正確な名称は公式ドキュメントで確認してください(バージョンによって既定が変わります)。Claude Code が Anthropic のモデルで動くのと同じく、Codex は OpenAI のモデルで動く、という素直な対応関係です。
インストールと認証
インストール
npm か Homebrew で入れられます。
# npm
npm install -g @openai/codex
# Homebrew(cask)
brew install --cask codexスタンドアロンのインストーラ(curl -fsSL https://chatgpt.com/codex/install.sh | sh)も用意されています。
認証
初回起動時にサインインを求められます。ChatGPT アカウントでサインインすれば、ChatGPT Plus・Pro・Business・Edu・Enterprise の各プランの一部として使えます。あるいは API キーでも認証できます。
ここが Claude Code との実務的な違いの一つです。Claude Code が Anthropic のプラン/API に紐づくのと同様に、Codex は ChatGPT のプランに紐づく。すでに ChatGPT を契約しているチームなら、追加コストなく試せるのが利点です。
起動
codexこれで対話的な TUI セッションが立ち上がります。
承認モードとサンドボックス(ここが肝)
Claude Code の「auto mode / 権限」に相当するのが、Codex の承認モードとサンドボックスです。AIにどこまで自由を与えるかを、2つの軸で制御します。
サンドボックス(--sandbox)
ファイルやシステムへのアクセス範囲を決めます。
| 値 | 意味 |
|---|---|
read-only | 書き込み不可(読むだけ) |
workspace-write | ワークスペース内のみ書き込み可 |
danger-full-access | 制限なしの全アクセス(危険) |
承認ポリシー(--ask-for-approval)
コマンド実行前に人間に確認を求めるかを決めます。
| 値 | 意味 |
|---|---|
untrusted | 信頼できない操作の前で止まる |
on-request | 対話セッション向けの推奨値 |
never | 確認しない(自動化向け) |
このほか on-failure(コマンド失敗時のみ確認)もあります。
WARNING
--full-auto は『--sandbox workspace-write + --ask-for-approval on-request』をまとめたプリセットです(挙動を細かく決めたいときは両フラグを個別に指定します)。一方で danger-full-access や --ask-for-approval never は、文字どおり「全部任せる」モードです。手元の信頼できるリポジトリ以外では使わないこと。Claude Code の --dangerously-skip-permissions と同じ警戒度で扱うべきフラグです。安全に自走させたいなら「ワークスペース内書き込み+必要時に承認」が基本線です。
考え方は Claude Code を長時間自律で走らせるで書いた「承認の自動化は2軸(どこまで触れるか × いつ確認するか)で設計する」とまったく同じです。ツールは違っても、安全に自走させる設計思想は共通しています。
非対話実行: codex exec
CI やスクリプトから回すには、非対話モードの codex exec(短縮形 codex e)を使います。人間の対話なしでタスクを実行できます。
codex exec "テストを実行して失敗を修正して" --sandbox workspace-writeClaude Code の claude -p(print/非対話モード)に相当する位置づけです。自動化に組み込むときは、サンドボックスと承認ポリシーを明示して「どこまで許すか」を固定するのが定石です。
AGENTS.md と MCP は共通の土台
Codex CLI は AGENTS.md と MCP(Model Context Protocol)に対応しています。ここが、Claude Code ユーザーにとって一番うれしい点かもしれません。
- AGENTS.md: プロジェクトのルール・手順を書いておくファイル。Claude Code でも Codex でも読まれる、事実上の共通フォーマットになりつつある
- MCP: 外部ツール連携の標準プロトコル。MCP 2026 ロードマップで書いたとおり、エージェントをまたいだ共通基盤になっている
つまり、AGENTS.md でプロジェクトの作法を整え、MCP でツールをつないでおけば、その資産は Claude Code と Codex の両方で活きる。どちらかにロックインされにくいのは、利用者にとって健全な状況です。
Claude Code と Codex CLI、どう使い分けるか
| 観点 | Claude Code | Codex CLI |
|---|---|---|
| モデル | Anthropic(Claude) | OpenAI(GPT-5 系) |
| 認証/課金 | Anthropic プラン・API | ChatGPT プラン・API |
| 実装 | - | Rust 製・OSS(Apache-2.0) |
| 設定 | AGENTS.md | AGENTS.md(共通) |
| ツール連携 | MCP | MCP(共通) |
| 権限設計 | auto mode・権限 | サンドボックス × 承認ポリシー |
実務的には「どちらが優れているか」より「どちらのモデル/プランを既に持っているか」「タスクとの相性」で選ぶのが現実的です。ChatGPT を主に使っているなら Codex が自然な入り口になりますし、両方を併用して同じタスクを別モデルで解かせ、結果を見比べるという使い方も有効です(このブログでも、記事の事実確認に別モデルの相互チェックを使っています)。
NOTE
「片方が常に正しい」わけではありません。モデルが違えば得意・不得意も、間違え方も違います。重要な変更ほど、片方に書かせてもう片方(や人間)でレビューする多段検証が効きます。AGENTS.md と MCP が共通だからこそ、この“乗り換え・併用”のコストが低いのが2026年の良いところです。
まとめ
- Codex CLI は OpenAI のターミナル型コーディングエージェント。Rust 製・オープンソース(Apache-2.0)で、GPT-5 系モデルで動く
- インストールは
npm install -g @openai/codexかbrew install --cask codex。ChatGPT アカウントでサインインすれば各プランの一部として使える - 権限はサンドボックス(read-only / workspace-write / danger-full-access)× 承認ポリシー(untrusted / on-request / never ほか)の2軸。
--full-autoは「workspace-write + on-request」のプリセット - 非対話実行は
codex exec。AGENTS.md と MCP に対応し、その資産は Claude Code と共通で活きる - 選び方は「優劣」より「持っているプラン・タスクとの相性」。併用して別モデルで解かせ見比べるのも有効
Claude Code と Codex CLI は、競合でありながら AGENTS.md・MCP・2軸の権限設計という共通の土台を持っています。どちらか一方に賭けるより、両方を引き出しに持って使い分けるのが、いまのAIコーディングの賢い構えです。