2児のパパ系Webエンジニア
の開発日記
A Dad-of-Two Engineer's Development Diary

Codex CLIのcodex agentsで並列タスクを一覧管理!codex queueで横から指示を足す話

Codex CLIのcodex agentsで並列タスクを一覧管理!codex queueで横から指示を足す話

🙌 結論から

Codex を2つ以上同時に走らせている人は、codex agents だけでも入れておいたほうがいいです。

タスクの一覧・検索・名前変更・停止が1画面でできるので、「どのタブで何を頼んだっけ・・・」が無くなりました!

codex queue のほうは、作業中のセッションに割り込まずに次の指示を置いておくコマンドです✨

目立たない機能ですが、テストが終わったら次の指示を流す、という使い方をしたら手放せなくなりました(^^)

どちらも Codex CLI 0.149.0(2026年8月20日) で入り、0.156.0(9月22日) で状態の絞り込みとworktreeセッションの作成、10月初めの 0.160.0 で古いタスクをさかのぼる「Show more」が足されています。

👀 ターミナルのタブが増えすぎていた

私はトリプルモニターのうち1枚をターミナル専用にしているんですが、Codex を並列で動かすようになってから、そこがタブだらけになっていました。。

Laravel の案件で「APIのレート制限を直す」「注文一覧のN+1を潰す」「PR の説明文を書く」を同時に投げると、もうどのタブが何なのか分からない状態です(・_・;)

終わったかどうかを見るために、タブを1個ずつ開いて回る。

これがけっこうなストレスでした(´;ω;`)

💡 codex agents で全部のタスクが1画面に並ぶ

ターミナルで codex agents を打つと、ローカルで動いているタスクの一覧画面が開きます。

できるのは検索・新規作成・開く・名前変更・停止で、ショートカットは画面下のフッターに出ています。

私がよく使うのはこのあたりです 💡

  • ↑ / ↓: タスクを選ぶ
  • Enter: 選んだタスクを開く
  • Ctrl+F: 検索
  • Ctrl+S: グループ表示の切り替え
  • Ctrl+R: 名前を変える
  • Ctrl+X: 選んだタスクを止める

ショートカットは設定で変えられるので、合わなければ自分の手癖に寄せられます😊

0.156.0 からは状態で絞り込めるようになり、一覧からそのままworktreeのセッションも作れます。

「いま動いているものだけ見たい」ときに、終わったタスクが混ざらないのはかなりありがたいです!

10月初めの 0.160.0 では、一覧の一番下に「Show more」の行が付きました。

キーボードで選ぶと、古いタスクを10件ずつ追加で読み込みます。

昨日の作業の続きを探すときに、意外と使っています( ´∀`)

セッションの中にいるときは /agents でも動いているタスクを確認して、そのまま切り替えられます💡

✨ codex queue は割り込まずに次の指示を置いておける

Codex が作業している最中に指示を足したくなること、ありますよね?

TUI の中なら、作業中に Enter で送ると今のターンの軌道修正、Tab で送ると次のターンへの予約になります。

codex queue は、この「予約」を別のターミナルやスクリプトからできるコマンドです。

codex queue --thread fix-n1-orders --message "テストが通ったので、PRの説明文を日本語で書いて"

--thread にはセッションの名前か UUID を渡します。

届いたときの動きは、相手の状態で変わります。

  • 待機中のセッション: メッセージで起きて、新しいターンが始まる
  • 作業中のセッション: 今のターンが終わるまで待って、次のユーザー発言として読まれる

作業中のエージェントを止めずに済むのがいちばん大きいです。

Enter で軌道修正すると、途中まで進めた作業の流れが変わってしまうことがあるので、急ぎでない指示は全部こっちに回しています👍

🔧 私の設定と使い方はこれ

ここは真似しやすい形でそのまま書いておきます(`・ω・´)

まず、セッションには必ず短い名前を付けます。

自動で付く名前は長いので、作業を始めたらすぐ /rename で変えています。

/rename fix-n1-orders

名前は「動詞-対象」にそろえていて、fix-n1-orders add-rate-limit write-pr-desc のような感じです!

一覧で検索するときに、fix と打てば直し物だけが出るので楽・・!

次に、Laravel のテストが終わったら次の指示を流す、という使い方です。

php artisan test --filter=OrderIndexTest \
  && codex queue --thread fix-n1-orders --message "OrderIndexTest が通りました。差分を見直して、不要なeager loadがあれば外してください"

テストが落ちたら何も送られないので、Codex に勝手に次へ進まれる心配がありません🎉

テストを回している間は Slack の返信をしていて、戻ったら次の作業が終わっている、という流れになりました(^o^)

スクリプトから送るときだけは、名前ではなく UUID を使うようにしています。

名前は後から変えることがあるので、自動化に名前を書くと、あとで変えたときに届かなくなるからです。

UUID はセッションの中で /status を打つと出ます。

🤔 届かないと思ったら開いていないセッションだった

最初、codex queue を打っても何も起きなくて、しばらく悩みました(´・ω・`)

原因は、送り先のセッションを閉じていたことです・・・!

codex queue はメッセージを Codex のキューに溜めますが、実際に届くのは起動中のセッションだけです。

閉じたセッションに送ったメッセージは溜まったままで、勝手に再開してはくれません。

GitHub の Issue でも「読み込まれていないスレッドに送っても再開されない」という報告が上がっています。

なので私は、夜に流しっぱなしにする作業はセッションを開いたままにしておくか、翌朝 codex agents から開き直すようにしています( .. )

もうひとつ、同じ名前のセッションが2つあると、どっちに届くか迷う原因になります。

重複した名前の扱いはアップデートで改善されていますが、名前はユニークにしておくのが無難ですね。

正直、この2つさえ押さえれば、あとはかなり素直に動きます!

🔗 関連記事と使い分け

パパ系Webエンジニア〜愛用ガジェット一覧 🛍️

AI開発・執筆に使っている作業デスク環境を楽天ROOMにまとめています ✨ デスク周りの参考にどうぞ 🙌

👍 まとめ

codex agents で一覧を見て、codex queue で次の指示を置いておく。この2つで、Codex の並列作業がかなり回しやすくなりました。

満足している前提ですが、アプリ版のような見た目の分かりやすさはないので、GUI で眺めたい人には物足りないかもしれません🤔

それでも、ターミナルから手を離さずに複数のタスクをさばけるのは、マジで快適です・・!

Codex を2つ以上同時に動かしている方は、まず /rename で名前を付けるところから試してみてください🙌


※ バージョン番号・提供範囲は今後も変わる可能性があります。最新情報は Codex の公式 changelog をご確認ください👀

参考になったらシェアしてもらえるとうれしいです🙌

Xでポスト Threads はてブ LINE
本日のAI速報 10月16日(金)・11件