Codex CLIを使いこなすための機能・設定まとめ
はじめに
こんにちは、ラクです!
最近、開発者の間でOpenAIの「Codex CLI」が話題になっていますね。
Codex CLIは今年の4月に公開されたばかりの歴史の浅いツールですが、短いサイクルで改善・アップデートが続いています。
現時点ではClaude Codeに比べて未実装の機能もありますが、その差は急速に縮まりつつあります。
ただし公式ドキュメントのようなものはなく、現時点ではリポジトリを直接見に行くしかありません。
本記事ではリリースノートやPRを読み込みつつ、私が実際に使って便利に感じた設定や機能を紹介していきます。
なぜ今、Codex CLIが話題なのか?
ChatGPTのサブスクリプションで利用できるようになった
GPT-5の公開(2025年8月7日)以降、ChatGPTの有料プラン(Plus/Pro/Team)加入者は追加料金なし・定額でCodex CLIを利用できるようになりました。
Codex CLIが公開された2025年4月当初はAPI Key前提でした。
Claude Codeと比べて機能的にも優位性は限定的でしたが、現在は使い勝手が大きく向上しています。
Claude Codeの性能劣化
これはAnthropicの公式発表ではありませんが、「Claude Codeの挙動が以前と変わった」「性能が落ちた」という声が多く、私自身も同様の印象を持っています。
こうした背景から、Claude CodeからCodex CLIへの移行を検討する開発者が増えているのをX上でよく見かけます。
Codex CLIの基本設定
AGENTS.mdで日本語対応を設定する
Codexでは、~/.codex/AGENTS.md
に共通プロンプトを記述すると、すべての会話に自動で読み込まれます(グローバル・システムプロンプト)。
日本語での応答をデフォルトにしたい場合は、以下のような短い指示を書いておくのがおすすめです。
日本語で簡潔かつ丁寧に回答してください
AGENTS.mdはCodexをはじめ、CursorやGitHub Copilot,Gemini CLI, Roo Codeなど多くのAIツールが共通して利用することができるCustom Instructionsのファイル名です(Claude Codeも早く対応して欲しい....)
設定ファイル: ~/.codex/config.toml
Codex CLIの設定は、基本的に~/.codex/config.toml
ファイルで行います。
当初Node.jsで実装されていたCodex CLIがRustでスクラッチから再実装された経緯があり、その影響で設定ファイルにはTOML形式が採用されているようです。
以下は私が実際に使用している設定例です。
model
は明示指定していませんが、デフォルトでGPT-5が使用されます。
model_reasoning_effort = "high"
hide_agent_reasoning = true
network_access = true
notify = ["bash", "-lc", "afplay /System/Library/Sounds/Ping.aiff"]
[tools]
web_search = true
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@latest"]
[mcp_servers.figma]
command = "npx"
args = ["-y", "mcp-remote", "http://127.0.0.1:3845/sse"]
また、config.toml
に記述した設定は、環境変数や実行時の引数で上書きできます。
優先順位は次のとおりです。
-
--config key=value
(コマンドライン引数) - 環境変数
-
config.toml
の設定値
便利な機能と設定詳説
GPT-5のreasoningを常にhighにする
次の設定で常に high の推論モードを有効化します。
デフォルトではmediumが指定されていますが、highにするのがこの記事の中でも一番おすすめしたい設定です!
model_reasoning_effort = "high"
Notify(Claude Hooks相当)で音を鳴らす
タスク完了時などに通知を受け取ることができます。
macOSでサウンドを鳴らす設定例は以下のとおりです。
# config.toml
notify = ["bash", "-lc", "afplay /System/Library/Sounds/Ping.aiff"]
より高度なデスクトップ通知は、@laiso さんの「新Codex CLIの使い方」が参考になります。
MCPを設定する
Claude Code同様にMCPに対応していますが、専用のJSONではなくCodex CLI自体の設定ファイルと同じ config.toml
に記述します。
設定例は次のとおりです。
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@latest"]
[mcp_servers.figma]
command = "npx"
args = ["-y", "mcp-remote", "http://127.0.0.1:3845/sse"]
現時点のCodex CLIは stdio 通信のみサポートのため、SSEのMCPサーバーは直接利用できません。
mcp-proxy
や mcp-remote
などのラッパーを挟む方法が公式に案内されています。
実際、FigmaなどリモートMCPが必要なものはmcp-remote
を使用しています。
Defines the list of MCP servers that Codex can consult for tool use. Currently, only servers that are launched by executing a program that communicate over stdio are supported. For servers that use the SSE transport, consider an adapter like mcp-proxy.
Web検索ツールを有効にする
Codexには標準でWeb検索機能が組み込まれており、最新の情報に基づいた回答を生成させることができます。
デフォルトでは無効になっていますが、以下の設定を追加することで有効化できます。
[tools]
web_search = true
Custom Prompts(Claudeのスラッシュコマンド相当)を作る
頻繁に使うプロンプトをカスタムコマンドとして登録しておく機能です。
プロジェクト配下の .codex/prompts/
に置いても読み込まれず、~/.codex/prompts/
配下に置く必要があります。
今後に期待です!
実際にClaude Codeでも使用していたリファクタリング用のslash commandをCodexに移植しました。
以下のように/
を入力した後にファイル名が表示され、実行できるようになります。
reasoningログの非表示
Codexは回答生成前に内部の思考過程を示す「reasoning」イベントを断続的に出力します。
TUI表示で冗長に感じる場合は、次の設定で非表示にできます。
# config.toml
hide_agent_reasoning = true # 既定値は false
@
でファイルをメンションする
プロンプト内で @path/to/file
と書くと、そのファイル内容を明示的に指定することができます。
CodexのVSCode拡張
CodexのVS Code拡張は2025年8月27日に公開されました。
developers.openai.com/codex/ide
OpenAI公式のVS Code拡張(ChatGPT Desktop連携)は以前から存在していましたが、そこにCodex CLI対応が加わった形です。
CLIをそのまま使用するときとの違いとして、以下の点が挙げられます。
- VS Codeで開いているファイルを参照できるため、
@
でファイル名を指定しなくても雑にプロンプトを投げることができる - Codex Cloudへのタスクを流すことができる
主要コマンド解説
コマンド | Claude Code相当 | 説明 |
---|---|---|
/new |
/clear |
現在のセッションを破棄し、新しいセッションを開始します |
/mcp |
/mcp |
現在のセッションで有効になっているMCPを表示します |
/compact |
/compact |
長くなった対話履歴をモデルに要約させ、トークンを節約します |
おまけ:Codex CLIの制限について
- Plus / Business(Team)/ Enterprise / Education
- ローカルタスク: 平均的なユーザーは、週の制限内で 5 時間あたり 30〜150 メッセージ。
- Pro
- ローカルタスク: 平均的なユーザーは、週の制限内で 5 時間あたり 300〜1,500 メッセージ。
OpenAIでCodexをリードする Alexander Embiricos 氏のポストによれば、これは現時点の利用状況における p25〜p75 の目安とのことです。
制限に関しては今後の利用状況に応じて変更される可能性があると思われます。
Discussion