Codex を並列で動かすには

並べること自体は、Claude Code と同じやり方でできます。ただし必ずどこかで止まります。

目次

止まる理由

Codex は、コマンドを実行する前に「これを実行してよいか」と聞いてきます。

Claude Code には --permission-mode という、聞かずに進める起動方法があります。grok には --permission-mode auto、muse には --yolo が同じ役割です。

Codex には、これにあたるものがありません。 MCP サーバーごとに自動承認する設定はありますが、 全体を飛ばす方法は用意されていません。並列で放っておく限り、誰かが待っています。

止まったことに気づく

Codex 0.156 からフックが入りました。PermissionRequest は、承認ダイアログを出したときに動きます。 実測では、ダイアログが出たときだけ動き、ほかのツール呼び出しでは動きませんでした。

自分で組むなら、起動時に渡します。

codex -c 'hooks.PermissionRequest=[{hooks=[{type="command",command="curl -s -X POST http://127.0.0.1:8080/waiting || true"}]}]'

気をつける点が3つあります。

  1. Codex が一度だけ確認してきます。「Hooks need review」が出て、承認しないと動きません。 コマンドの中身が変わるたびにまた聞かれるので、セッションごとの値は環境変数で渡します
  2. || true を付けます。 Codex はフックの終了状態を見るので、サーバーが落ちていても失敗にしません
  3. 終わったことは別で取ります。 作業の区切りは rollout という記録ファイルに追記されるので、 そちらを読みます。フックと違って信頼の確認が要りません

MulmoTerminal の場合

この仕組みが最初から入っています。

npx mulmoterminal@latest

枠で Codex を選ぶと、承認待ちのときに色が変わって、終わったときとは違う音が鳴ります。

Windows ではフックを登録しません。コマンドがシェルの展開に依存していて、Windows での挙動を 測っていないためです。最初の指示を渡して起動する場合も登録しません。確認ダイアログが出ている ところに指示が打ち込まれると、Enter が「Hooks を確認する」を選んで指示が消えるためです。

関連


English version: codex parallel


This site uses Just the Docs, a documentation theme for Jekyll.