Claude CodeとCodex CLIの連携ガイド
この記事で解説すること
/codex-reviewスキルの設計思想と実装- Windowsでtmuxの代わりにWindows Terminalを使う方法
codex execによる非インタラクティブ実行- レビュー結果の保存と管理
- モデル指定オプションの活用
背景:なぜ2つのAI CLIを連携させるのか
Claude Code(Anthropic、Opus 4.5)とCodex CLI(OpenAI、GPT-5.2)は、それぞれ異なる強みを持つ。Claude Codeで作成した計画やドキュメントを、Codexでクロスレビューすることで、単一AIのバイアスを軽減できる。
当初は手動で切り替えていたが、これをスラッシュコマンド一発で実行できるようにしたかった。
検討した連携方式
方式1: tmux(断念)
最初に思いついたのはtmuxを使った連携だ。tmux(terminal multiplexer)は1つのターミナルで複数セッションを管理でき、send-keys で別ペインにコマンドを送れる。
# tmuxでの連携イメージ
tmux send-keys -t codex "codex 'plan.md をレビューして'" Enter
ただし、tmuxはWindowsネイティブでは公式サポートされていない。WSL、MSYS2、Cygwin経由なら動くが、普段Windowsネイティブ環境で作業しているなら余計な設定が必要になる。
方式2: 共有ファイル経由(複雑すぎた)
次に検討したのが、ファイルを介して通知し合う方式だ。
Claude Code → plan.md → Codex → review.md → Claude Code
ステータスファイルで完了を監視し、結果ファイルを読み込む。動くには動くが、ファイル監視とステータス管理が煩雑だった。
方式3: codex exec(採用)
最終的に採用したのは、codex exec で標準出力を直接受け取る方式だ。
codex exec "対象ファイル.md をレビューして"
codex exec は非インタラクティブモードでCodexを実行し、結果を標準出力に返す。ファイル監視も不要でシンプルだ。
Windows Terminalでの運用
tmuxが使えないWindows環境では、Windows Terminalの機能で代替できる。
別タブ/ペインでリアルタイム確認
Codexの動作(思考過程やツール呼び出し)をリアルタイムで見たい場合は、対話モードを別ウィンドウで起動する。
# 別ウィンドウでCodexを起動
start powershell -NoExit -Command "codex '対象ファイル.md をレビューして'"
start コマンドは新しいウィンドウを開くため、Claude Codeのセッションをブロックしない。ユーザーはそちらのウィンドウでCodexがリアルタイムで動く様子を確認できる。
なぜ別ウィンドウが必要なのか
codex exec は結果のみを返す。思考過程(Thinking...)やツール呼び出しの詳細は表示されない。デバッグや学習目的でCodexの動作を見たい場合は、対話モード(codex コマンド単体)を使う必要がある。
/codex-review スキルの実装
スキルの構成
Claude Codeのスキル機能を使い、/codex-review コマンドを実装した。
~/.claude/skills/codex-review/
└── SKILL.md
ユーザーレベル(~/.claude/skills/)に配置したため、どのプロジェクトからでも利用できる。
SKILL.mdの内容(抜粋)
---
name: "codex-review"
description: "Codex CLI(GPT-5.2)にレビューを依頼する"
---
# Codex Review
## 引数
| 引数 | モデル | 説明 |
|------|--------|------|
| (なし) | gpt-5.2-codex | デフォルト |
| `max` | gpt-5.1-codex-max | 深い分析向け |
| `mini` | gpt-5.1-codex-mini | 高速 |
使い方
/codex-review # デフォルト(gpt-5.2-codex)
/codex-review max # gpt-5.1-codex-max(深い分析)
/codex-review mini # gpt-5.1-codex-mini(高速)
codex execの詳細
基本構文
codex exec "プロンプト"
対話モードとの違い:
| 項目 | codex exec | codex(対話モード) |
|---|---|---|
| 入力 | 1回のプロンプトのみ | 対話的に複数回 |
| 出力 | 結果のみ | 思考過程も表示 |
| 終了 | 自動終了 | 明示的に終了 |
| 用途 | スクリプト・自動化 | 対話的な作業 |
ファイル内容の渡し方
ファイルパスを渡す(推奨):
codex exec "apps/web/content/2026-01-14/article.md をレビューして"
Codexは作業ディレクトリ内のファイルを自分で読める。パスを伝えるだけでよい。
ファイル内容を直接渡す(短いファイル向け):
# Bash
codex exec "以下をレビューして。
$(cat article.md)"
# PowerShell
codex exec "以下をレビューして。
$(Get-Content article.md -Raw)"
コマンド長制限があるため、長いファイルはパスを渡す方式を使う。
モデル指定
利用可能なモデルは codex models で確認できる。2026-01-14時点:
| モデル | 説明 |
|---|---|
| gpt-5.2-codex | デフォルト。最新のagentic codingモデル |
| gpt-5.1-codex-max | 深い分析・推論向け |
| gpt-5.1-codex-mini | 軽量・高速 |
| gpt-5.2 | 汎用モデル |
# モデル指定
codex exec -m gpt-5.1-codex-max "レビューして..."
レビュー結果の保存
保存先
レビュー結果は .claude/codex-review/ ディレクトリに保存する。
.claude/codex-review/
├── 2026-01-14_071530.md
├── 2026-01-14_083045.md
└── ...
ファイル名は YYYY-MM-DD_HHMMSS.md 形式で、実行日時を記録する。
gitで追跡しない
このディレクトリは .gitignore に追加しておく。レビュー結果は一時的な参照用であり、バージョン管理する必要はない。
.claude/codex-review/
実行コマンド
スキル内で実行するコマンド:
# タイムスタンプ生成 & Codex実行 & 保存 & 表示
timestamp=$(date +%Y-%m-%d_%H%M%S) && \
codex exec "対象ファイル.md をレビューして" \
> .claude/codex-review/${timestamp}.md 2>&1 && \
cat .claude/codex-review/${timestamp}.md
&& で繋いで1コマンドにまとめることで、Claude Codeの承認を1回で済ませる。
なぜteeを使わないのか
当初は | tee でターミナル出力と保存を同時に行おうとしたが、Codexの出力と相性が悪く空ファイルになることがあった。リダイレクト(>)と cat の組み合わせが確実だ。
実行フロー
1. ユーザー: /codex-review max
2. Claude Code: スキルを読み込む
3. Claude Code: 引数 "max" → -m gpt-5.1-codex-max に変換
4. Claude Code: 対象ファイルのパスを特定(会話文脈から推測)
5. Claude Code: codex exec -m gpt-5.1-codex-max "..." を実行
6. Codex: ファイルを読んでレビュー
7. Claude Code: 結果を .claude/codex-review/ に保存
8. Claude Code: サマリーをユーザーに表示
9. Claude Code: 「詳細は {パス} を参照」と案内
注意点
やってはいけないこと
- diffをコマンド引数に渡す - 長すぎてコマンドが失敗する
- 外部パス(/tmp等)を渡す - Codexの作業ディレクトリ外は読めない
- 機密情報を含むファイルを渡す - 履歴やログに残る可能性がある
サンドボックス制限
codex exec はデフォルトでサンドボックス(workspace-write)で実行される。作業ディレクトリ内のファイルは読み書きできるが、それ以外は制限される。
設定は codex --version または実行時のログで確認できる:
sandbox: workspace-write [workdir, /tmp, $TMPDIR]
まとめ
- tmuxの代替: Windows TerminalのStart-Processで別ウィンドウを開く
- 非インタラクティブ:
codex execでスクリプトから実行可能 - 結果保存:
.claude/codex-review/にタイムスタンプ付きで保存 - モデル指定:
-m mini/-m maxで分析の深さを調整 - スキル化:
/codex-reviewでどのプロジェクトからでも呼び出せる
異なるAI間のクロスレビューにより、単一AIでは気づきにくい問題を発見できる。設定は多少手間だが、一度作れば継続的に使える。