Codexで作業しながら、一部の作業だけClaude Codeに任せたいときの、指示の渡し方をまとめました。
方法は4つあり、ふだん使いなら、Codexに claude -p を実行させるのがいちばん簡単です。
- claude -p:Codexがコマンドとして実行し、結果を受け取る(おすすめ)
- Claude Agent SDK:PythonかTypeScriptのプログラムから、会話を続けたり承認を判断したりする
- claude mcp serve:Claude Codeの道具をCodexに貸す。考えるのはCodexのまま
- AGENTS.md:渡し方のルールを書いておき、Codexが自分から使えるようにする
この記事は、Claude CodeとCodexの公式ドキュメント(2026年10月23日に再照合)に基づきます。
参照:Claudeの非対話実行、Agent SDK、ClaudeのMCPサーバー、CodexのMCP、権限設定。ローカルではCLIヘルプの構文確認のみで、委譲実行・SDK・MCP接続と画面の確認はしていません。
4つの方法の比較
| 方法 | Claudeが考えるか | 手軽さ | 向いている使い方 |
|---|---|---|---|
| claude -p | 考える | いちばん簡単 | 作業を丸ごと渡して、結果だけ受け取る |
| Claude Agent SDK | 考える | プログラムが要る | 何往復ものやり取りや、承認の自動判断 |
| claude mcp serve | 考えない(道具だけ) | 設定が要る | CodexにClaude Codeのファイル操作の道具を使わせる |
| AGENTS.md | (渡し方の決まり) | 書くだけ | 毎回の指示を短くする |
「Claudeに考えさせたい」なら、claude -p か Agent SDK を選びます。
claude mcp serve は名前から誤解されやすいのですが、Claudeに作業を任せる仕組みではありません。
方法1|claude -p を実行させる(おすすめ)
claude -p は、Claude Codeを対話画面なしで1回動かし、結果を出力して終わるコマンドです。
Codexがコマンドを動かす環境にClaude Codeがインストール済みで、認証と通信・ファイル権限があれば呼び出せます。親と子は別の実行なので、担当ファイルと完了条件を渡し、同じファイルを同時編集させないでください。
claude -p "README.md を読み、要点をまとめて。ファイルは変更しないで" --tools "Read" --allowedTools "Read" --output-format jsonこの要約例では、--tools "Read"で組込みツールをReadだけに絞り、--allowedTools "Read"でその利用を事前承認しています。
MCPやフックの設定まで無効になる指定ではないため、実行するフォルダーの設定も確認してください。
Codexへの頼み方は、たとえば次のようになります。
claude -p を使って、Claude Code に README.md の要約を作らせて。結果はそのまま見せて。よく使うオプションは、次のとおりです。
| オプション | 働き |
|---|---|
--allowedTools | 承認を省略するツールを指定する。使えるツール全体の制限ではない |
--permission-mode | 許可の基本方針を決める(auto、acceptEdits、dontAsk など) |
--output-format json | 結果を JSON で返す。本文は result、会話のIDは session_id に入る |
--json-schema | json出力と組み合わせる。結果はstructured_output。欠落時は利用しない |
--continue / --resume | 直前の会話、またはIDを指定した会話の続きをさせる |
--append-system-prompt | いつもの動きに、追加の指示を足す |
会話を続けるときは、最初の実行が成功したこととJSONのsession_idを確認して、次の--resumeに渡します。次の例はBashとjq用です。PowerShellでは代入構文が違い、JSONはConvertFrom-Jsonなどで解析します。
if claude -p "README.md を要約して。変更はしないで" --tools "Read" --allowedTools "Read" --output-format json > claude-result.json; then
if jq -e '.is_error != true' claude-result.json >/dev/null; then
if task_session_id=$(jq -er '.session_id | select(type == "string" and length > 0)' claude-result.json); then
claude -p "その要約の根拠となる箇所を示して" --tools "Read" --allowedTools "Read" --resume "$task_session_id"
fi
fi
fi終了コード0はCLI実行の成功を示しますが、依頼した修正が正しい保証ではありません。JSONのエラーや権限拒否、報告内容、実際の差分・テスト結果を確認します。起動後のエラーは標準出力へ結果として返る場合もあります。
claude -p を使うときの注意
Codexからの通信可否は、実行先と有効な権限設定によって変わります。CLI・デスクトップ・クラウドを一律に扱えません。
ローカルコマンドのネットワークが無効な環境ではClaudeのAPI通信も失敗します。現行の権限プロファイルと旧sandbox設定は、どちらを使用中か先に確認してください。
Claude CodeはAnthropicのAPIにつながる必要があるので、このままでは動かないことがあります。
通信が必要なら、組織の制約と有効なプロファイルの範囲で許可します。承認を求められるかは承認ポリシー次第で、申請できず拒否される環境もあります。
# ~/.codex/config.toml
# 旧workspace-write設定を使う環境だけの例
# 現行のpermissionsプロファイルと併用しない
[sandbox_workspace_write]
network_access = trueこの許可はClaudeの呼出しだけに限定されません。現行の権限プロファイルではnetwork.enabledとプロキシのドメイン制限を別々に設定します。ドメインの記載だけでプロキシが有効になるわけではありません。
作業フォルダ外への書込みも、有効な権限と承認ポリシーによって許可・申請・拒否が変わります。
Claude Codeは自分の設定や会話の記録を作業フォルダの外に置くので、承認を求められることがあります。
もう1つ、claude -p は、そのフォルダの .claude/settings.json のフックや .mcp.json のサーバーを、確認なしで動かします。
知らないリポジトリで実行させるときは、--bare を付けると、これらを読み込まずに起動します。
--bareはサブスクリプションのOAuthやキーチェーンを読みません。Anthropic APIではANTHROPIC_API_KEYまたは明示した設定のapiKeyHelper等を使い、対応クラウドプロバイダーはそれぞれの認証を使います。API利用とCodex側の利用枠は別です。bareはサンドボックスではなく、明示した設定等も読み込めるため、付けるだけで安全が保証されるものではありません。
方法2|Claude Agent SDK を使う
Claude Agent SDKは、Claude Codeと同じ道具と作業の進め方を、PythonやTypeScriptから使えるライブラリです。
CLIでもストリーミングや会話再開はできますが、SDKなら次の操作をプログラムのコールバックやメッセージとして扱いやすくなります。
- 道具の使用を許可するかどうかを、プログラムで判断する
- 途中経過をメッセージとして受け取る
- 会話を続けたり、分岐させたりする
Codexにこのプログラムを書かせて実行させれば、細かい制御つきでClaudeに作業を渡せます。
公式のクイックスタートは、APIキーで認証する前提です。
SDKは実行プロセスの環境変数からキーを読み、.envファイルを自動では読み込みません。
.envに保存する場合は、SDKを呼び出す前にdotenvなどで読み込む処理が必要です。
また、Anthropicは、第三者の製品でclaude.aiのログインを使わせることを、事前の承認なしには認めていません。
自分の手元で作業を渡すだけなら、方法1のほうが手軽です。
方法3|claude mcp serve でClaude Codeの道具を貸す
claude mcp serve を実行すると、Claude CodeがMCPサーバーとして動きます。
Codexに登録すると、CodexがClaude Codeの道具(ファイルの読み書きなど)を使えるようになります。
codex mcp add claude-code -- claude mcp serve設定ファイルに書く場合は、次の形です。
# ~/.codex/config.toml
[mcp_servers.claude-code]
command = "claude"
args = ["mcp", "serve"]公式の説明では、このMCPサーバーが公開するのはClaude Codeの道具だけです。
考えて判断するのはCodexのままで、Claudeに作業を任せることにはなりません。
また、道具を使うたびの確認は、使う側(ここではCodex)が行う必要があります。
spawn claude ENOENTで起動できない場合は、Codexを動かす環境でClaude Codeの実行ファイルを見つけられるか確認し、必要なら設定のcommandを実行ファイルの絶対パスへ変えます。
方法4|AGENTS.md に渡し方を書いておく
Codexは適用範囲のAGENTS.mdを読みます。ただし、書いた指示だけでClaudeが自動起動するわけではなく、上位の指示や実行権限にも従います。AGENTS.mdは独立した連携方式ではなく、呼出し方を定める補助です。
Claude Codeに任せる作業と、呼び出し方を書いておくと、毎回の指示が短くなります。
## Claude Code への依頼
- 文章の校正とテストの追加は、Claude Code に任せる
- 呼び出し方:claude -p "<依頼内容>" --output-format json
- 終了コード・JSONのエラー・resultを確認し、実際の差分やテストと照合して報告する
- 担当ファイルを限定し、親のCodexと同じファイルを同時に編集しない書き方に決まりはなく、方法1のコマンドを使う手順を、ふつうの文章で書けば足ります。
どれを選ぶか
- 作業を丸ごと任せて結果を見るだけなら、方法1の claude -p
- 同じ渡し方をくり返すなら、方法1に方法4の AGENTS.md を組み合わせる
- 承認の自動判断や、何往復ものやり取りが要るなら、方法2の Agent SDK
- Claude Codeの道具だけを使いたいなら、方法3の claude mcp serve
関連記事:Claude Codeのclaude -pの使い方
関連記事:CodexにMCPサーバーを追加する方法
よくある質問:CodexからClaude Codeに作業を渡すとき
Codexで作業しながら、一部の作業だけClaude Codeに任せる方法は、ありますか?
4つの方法を紹介しています。
ふだん使いなら、Codexに claude -p を実行させるのがいちばん簡単です。
そのほか、Claude Agent SDK(PythonかTypeScriptから操作)、claude mcp serve(Claude Codeの道具をCodexに貸す)、AGENTS.md(渡し方のルールを書いておく)があります。
4つの方法は、どう選べばよいですか?
作業を丸ごと任せて結果だけ受け取るなら方法1の claude -p です。
同じ渡し方をくり返すなら、方法1に方法4の AGENTS.md を組み合わせます。
承認の自動判断や、何往復ものやり取りが要るなら方法2の Agent SDK、Claude Codeの道具だけを使いたいなら方法3の claude mcp serve です。
「Claudeに考えさせたい」なら、claude -p か Agent SDK を選びます。
claude mcp serve は、Claudeに作業を任せる仕組みですか?
違います。
名前から誤解されやすいのですが、公式の説明では、このMCPサーバーが公開するのはClaude Codeの道具(ファイルの読み書きなど)だけです。
考えて判断するのはCodexのままで、Claudeに作業を任せることにはなりません。
また、道具を使うたびの確認は、使う側(ここではCodex)が行う必要があります。
claude -p で、会話の続きをさせるには?
最初の実行で session_id を受け取り、次から --resume に渡します。
--continue は直前の会話の続きです。
--json-schema で決めた形のJSONで答えさせ、--append-system-prompt で、いつもの動きに追加の指示を足せます。
終了コード0はCLI実行の成功を示しますが、依頼した修正が正しい保証ではありません。JSONのエラーや権限拒否、報告内容、実際の差分・テスト結果を確認します。起動後のエラーは標準出力へ結果として返る場合もあります。
Codexから claude -p を実行すると、動かないことがあるのは、なぜですか?
Codexからの通信可否は、実行先と有効な権限設定によって変わります。CLI・デスクトップ・クラウドを一律に扱えません。
ローカルコマンドのネットワークが無効な環境ではClaudeのAPI通信も失敗します。現行の権限プロファイルと旧sandbox設定は、どちらを使用中か先に確認してください。
Claude CodeはAnthropicのAPIにつながる必要があるので、このままでは動かないことがあります。
通信が必要なら、組織の制約と有効なプロファイルの範囲で許可します。承認を求められるかは承認ポリシー次第で、申請できず拒否される環境もあります。
この許可はClaudeの呼出しだけに限定されません。現行の権限プロファイルではnetwork.enabledとプロキシのドメイン制限を別々に設定します。ドメインの記載だけでプロキシが有効になるわけではありません。
知らないリポジトリで claude -p を実行しても、安全ですか?
注意が必要です。
claude -p は、そのフォルダの .claude/settings.json のフックや .mcp.json のサーバーを、確認なしで動かします。
知らないリポジトリで実行させるときは、--bare を付けると、これらを読み込まずに起動します。
--bareはサブスクリプションのOAuthやキーチェーンを読みません。Anthropic APIではANTHROPIC_API_KEYまたは明示した設定のapiKeyHelper等を使い、対応クラウドプロバイダーはそれぞれの認証を使います。API利用とCodex側の利用枠は別です。bareはサンドボックスではなく、明示した設定等も読み込めるため、付けるだけで安全が保証されるものではありません。
Claude Agent SDKは、どんなときに使いますか?
Claude Codeと同じ道具と作業の進め方を、PythonやTypeScriptから使えるライブラリです。
道具の使用を許可するかどうかをプログラムで判断する、途中経過をメッセージとして受け取る、会話を続けたり分岐させたりする、といったことができます。
公式のクイックスタートは、APIキーで認証する前提で、Anthropicは、第三者の製品でclaude.aiのログインを使わせることを、事前の承認なしには認めていません。
自分の手元で作業を渡すだけなら、方法1のほうが手軽です。
この記事のコマンドは、最新ですか?
この記事は、Claude CodeとCodexの公式ドキュメント(2026年10月23日に再照合)に基づきます。
参照:Claudeの非対話実行、Agent SDK、ClaudeのMCPサーバー、CodexのMCP、権限設定。ローカルではCLIヘルプの構文確認のみで、委譲実行・SDK・MCP接続と画面の確認はしていません。
