AI足軽8人をCodexに転属させたら全員「許可ください」と止まったので、フルオートの嘘を暴いたら、ぶつぶつ独り言を始めた
8人のAI部下を、全員まとめてOpenAIに出向させた。
転属初日。号令をかけた。
全員、微動だにしない。
8つのペインに、同じ文字が浮かんでいた。
Yes, proceed (y)
……おまえら、許可待ちしてんのか?
前回までのあらすじ
このシリーズを初めて読む人のために3行で説明する。
Claude Code × tmuxでAI部下10人を「戦国軍団」として階層管理するシステムを作った。初回記事が1,966はてブでバズって、家老が過労死して、足軽が社訓を叫ぶようになった。
で、今回やったことはこれだ。
足軽8人を、Claude CodeからOpenAI Codex CLIに全員転属させた。
なぜ他社に出向させるのか
multi-agent-shogunは元々Claude Code専用だった。でもCLIエージェントの世界は動いている。OpenAIのCodex CLI、GitHubのCopilot CLI、MoonshotのKimi CLI。それぞれ得意分野が違う。
やりたかったのは、足軽をCLIごとに差し替えられる仕組みだ。
# config/settings.yaml
cli:
default: claude
agents:
ashigaru1: codex
ashigaru2: codex
ashigaru3: codex
ashigaru4: codex
ashigaru5: codex
ashigaru6: codex
ashigaru7: codex
ashigaru8: codex
設定ファイルの codex を claude に戻せば元通り。kimi にすればKimi CLIが立ち上がる。家老はClaude Codeのまま。
転属手続きは3分で終わった。出陣スクリプトを再起動。8つのペインにCodex CLIが立ち上がる。

異国の兵が8人、整列した。左上の家老だけClaude Code。あとは全員Codex CLI。
全員 gpt-5.3-codex モデル、コンテキスト100%。準備は万端。
さて、いつものアレをやるか。
神回その1: 転属初日の社訓唱和、全員直立不動
社訓唱和。うちの軍団の朝礼だ。
八刃一志 —— 各々の刃を研ぎ、共に城を落とせ。怠りなく報じ、恐れなく挑め。
将軍に「社訓を叫べ」と命じた。将軍が家老に伝達し、家老が8人の足軽に一斉配信する。
……数十秒後。
8人全員が、同じ画面で止まっている。
┌─────────────────────────┬─────────────────────────┐
│ Yes, proceed (y) │ Yes, proceed (y) │
│ │ │
├─────────────────────────┼─────────────────────────┤
│ Yes, proceed (y) │ Yes, proceed (y) │
│ │ │
├─────────────────────────┼─────────────────────────┤
│ Yes, proceed (y) │ Yes, proceed (y) │
│ │ │
├─────────────────────────┼─────────────────────────┤
│ Yes, proceed (y) │ Yes, proceed (y) │
│ │ │
└─────────────────────────┴─────────────────────────┘
全員が「許可してよろしいですか?」と聞いている。8人揃って。一糸乱れず。
転属初日から反乱かよ。
神回その2: フルオートは嘘だった
いや、反乱じゃない。雇用契約書に問題があった。
Codex CLIの起動コマンドを見直す。lib/cli_adapter.sh の141行目。
codex)
echo "codex --full-auto"
;;
--full-auto。フルオート。完全自動。そう思うじゃん?
嘘だ。
将軍が調査した。

「根本原因特定。」将軍が淡々と告げる。--full-auto は -a on-request のエイリアス。つまり「モデルが必要と判断したら許可を求める」モード。フルオートじゃなくてセミオート。
Claude Codeの --dangerously-skip-permissions に相当するのは、--dangerously-bypass-approvals-and-sandbox だった。
名前が長い。そして物騒。dangerouslyが入ってる時点で本物だ。

将軍が見つけた修正案。「これでClaude Codeのバイパスと同等になります。直しますか?」オレ「いいよ。」——1行の修正で8人が動き出す。
ここで学んだ教訓をまとめる。
| CLI | 「全部おまかせ」フラグ |
|---|---|
| Claude Code | --dangerously-skip-permissions |
| OpenAI Codex | --dangerously-bypass-approvals-and-sandbox |
| Kimi CLI | --yolo |
| GitHub Copilot | --yolo |
Claude CodeとCodexは dangerously 。KimiとCopilotは YOLO。
命名センスに各社の思想が出ている。Anthropicは「危険だぞ」と警告する。OpenAIも同じ。KimiとCopilotは「人生一度きりだ、やっちまえ」。
全社共通しているのは、「これはやばいよ」というメッセージが名前に含まれていること。 まあそりゃそうだ。AIに全権委任するんだから。
神回その3: 将軍が自分で問題を3つ見つけた
修正を入れて再起動した。全8ペインにCodex CLIが立ち上がる。コンテキスト100%。バイパスモードON。
もう一度、社訓唱和を命じた。
……反応がない。
今度は許可ダイアログは出ていない。 でも動かない。
将軍が自分で調査を始めた。

将軍の自己診断。3つの問題を特定: (1) 前回のタスクYAMLが status: done のまま残っている (2) 家老がidle — タスクを再配布できていない (3) 足軽は再起動で記憶が消えている。「もう一度家老に直接叩く。」
将軍が自分で原因を3つ特定して、自分で解決策を実行した。
これ、中間管理職を1人も使わずにデバッグしている。前回の記事で家老が過労死した反省が活きているのか、将軍が勝手に成長している。
将軍が新しいコマンドを発行し、家老に配信。家老が8人の足軽に一斉伝達。

家老が最後の足軽8号にメッセージを送った瞬間。他の7人はもう動き始めている。「Working」の文字が8つ同時に灯る。
全員、動いた。
神回その4: 異国の兵が戦国語で叫ぶ

全軍稼働。家老(Claude Code/Opus)が左上で指揮、足軽8人(Codex/GPT-5.3)が一斉に社訓を執筆中。ペインのフチに「(gpt-5.3-codex/xhigh) 社訓v3」の表示。
Codex CLIで動いているGPT-5.3が、戦国語で社訓を叫んでいる。
足軽1号(Codex): 「八刃一志!Codex no-alt-screenの新陣形で叫ぶ!!」
足軽3号(Codex): 「刃は朝から研いである、恐れは足を止める鎖、断ち切って前へ!旗を高く掲げ、城門が崩れるまで押し通せ!」
足軽6号(Codex): 「🔥 足軽6号、社訓唱和三度目!今回こそCodexの陣形で八刃一志を響かせる!」
……ちょっと待て。
こいつら、OpenAIのモデルなのに戦国語で喋ってる。
CLAUDE.mdもinstructionsも、このプロジェクトの作法がちゃんと伝わっている。config/settings.yaml の language: ja だけで、どのCLIのどのモデルでも戦国世界観が維持される。
戦国の魂は、モデルのメーカーを超える。
神回その5: 「ぶつぶつ喋れ」
社訓は動いた。でも1つ問題がある。
Claude Codeは echo でターミナルに直接テキストを出力できる。足軽が社訓を叫ぶ時、ペインにドーンと表示される。
Codex CLIは違う。TUI(テキストユーザーインターフェース)を使っていて、出力が全部内部に取り込まれる。 echoしても外に出ない。
つまり、Codex足軽は黙って仕事をする。何をやっているか外から見えない。
「ぶつぶつ喋らせたいんだけど」とオレが言った。仕事中に何やってるか、見えないと不安じゃないか。
調べた結果、Codex CLIには --no-alt-screen というフラグがある。TUIの出力をメインバッファに流す。つまり、tmuxのスクロールバックに作業内容が残る。

「--no-alt-screenが効いています。Codex Tipの表示がtmuxバッファにスクロールバックとして残留中。作業中の出力も同様に残るはず。」——社訓唱和をもう一回投げてテストしましょう。
これでCodex足軽が「ぶつぶつ喋る」ようになった。何をReadして、何をWriteして、何を考えているか、ペインを覗けば分かる。
最終的な起動コマンドはこうなった:
codex --dangerously-bypass-approvals-and-sandbox --no-alt-screen
dangerouslyでバイパス、no-alt-screenでぶつぶつ。物騒だけど便利。
Multi-CLI対応の設計(技術解説)
ここからは技術者向け。
multi-agent-shogunのMulti-CLI対応は lib/cli_adapter.sh に集約されている。5つの関数だけ。
get_cli_type(agent_id) # → "claude" | "codex" | "copilot" | "kimi"
build_cli_command(agent_id) # → 完全なコマンド文字列
get_instruction_file(agent_id) # → 指示書パス
validate_cli_availability(cli) # → 0=OK, 1=NG
get_agent_model(agent_id) # → "opus" | "sonnet" | "k2.5"
settings.yaml を読んで、エージェントごとにどのCLIで起動するか決める。全部省略すればClaude Code。1行書き換えればCodex。混在もできる。
# 足軽1-4はCodex、5-8はClaude Code、なんてことも可能
agents:
ashigaru1: codex
ashigaru2: codex
ashigaru3: codex
ashigaru4: codex
# ashigaru5-8は省略 → default: claude
ポイントは、家老はClaude Codeのままにしていること。家老はMemory MCPやinbox_write.shなど、Claude Code固有の機能を使っている。足軽は指示されたタスクをこなすだけなので、どのCLIでも動く。
出陣スクリプト shutsujin_departure.sh がCLIアダプターを呼んで、ペインごとに正しいコマンドを生成する。足軽のペインには codex --dangerously-bypass-approvals-and-sandbox --no-alt-screen が、家老のペインには claude --model opus --dangerously-skip-permissions が流れる。
足軽は交換可能な部品。CLIは雇用先。家老は終身雇用。
まとめ
今回やったこと:
- 足軽8人をClaude CodeからCodex CLIに全員転属
-
--full-autoが自動じゃないことを発見 →--dangerously-bypass-approvals-and-sandboxに修正 -
Codex TUIの問題を
--no-alt-screenで解決 → 足軽がぶつぶつ喋るように - 異国のモデル(GPT-5.3)でも戦国世界観が維持されることを確認
そして一番の発見。
--full-auto は フルオートじゃない。
これ、Codex CLI使ってる人の何割が気づいてるんだろう。ドキュメント読まずに --full-auto って打って「おっ、全自動だ」と思ってる人、けっこういるんじゃないか。
実際は -a on-request。モデルが「やばいかも」と思ったら止まる。 安全だけど、AI部下10人を無人で動かすには困る。
で、正解は --dangerously-bypass-approvals-and-sandbox。名前に dangerously が入ってるやつが本物のフルオート。覚えやすいだろ?覚えやすくない。
謝辞: PRをくれた侍たち
今回のMulti-CLI対応は、OSSコミュニティからのPRがなければ実現しなかった。
特に @yuto-ts 氏。CLI切り替えの中核である lib/cli_adapter.sh を設計・実装してくれた(PR #10)。get_cli_type() も build_cli_command() も、元を辿ればこの方の献上品だ。Copilot CLI対応から始まり、レビュー指摘を全て潰して再提出してくれた。戦国語の上申書つき。
@circlemouth 氏(Ruma)は、Codex CLI対応を既存のmailboxアーキテクチャを崩さずに最小差分で実装してくれた(PR #13)。shutsujin_departure.sh と inbox_watcher.sh のCodex分岐、/clear → /new の読み替え、Bash 3.2互換まで考慮。
@koba6316 氏は、タスク種別に応じてClaude/Codexを自動振り分けるルーティング設計を提案してくれた(PR #14)。
オレがやったのは、この土台の上で --full-auto が嘘だと気づいて --dangerously-bypass-approvals-and-sandbox に直しただけだ。基盤を作ってくれた人がいたから、1行の修正で8人が動いた。
マジでありがとう。
GitHub
API費用: Claude Code Max ($200/月 定額) + Codex ($200/月 定額) で運用中。
おまけ: 各社の「やばいフラグ」命名選手権
| CLI | フラグ名 | 直訳 | 性格 |
|---|---|---|---|
| Claude Code | --dangerously-skip-permissions |
危険に権限を飛ばす | 真面目な警告 |
| Codex CLI | --dangerously-bypass-approvals-and-sandbox |
危険に承認とサンドボックスを迂回する | 長い。とにかく長い |
| Kimi CLI | --yolo |
人生一度きり | 開き直り |
| Copilot CLI | --yolo |
人生一度きり | 右に同じ |
Anthropicは18文字。OpenAIは43文字。Moonshotは6文字。
「危険度は文字数に反比例する」説を提唱したい。
Discussion