Summary
codex-cli driver: interactive/chat broken -- passes the exec-only
flag --skip-git-repo-check to the interactive codex TUI, which
current codex CLI rejects.
Summary
./launch.sh interactive <profile> (and chat) with the codex-cli
driver fails immediately: the driver invokes the interactive codex
TUI with --skip-git-repo-check, but in codex-cli 0.144.1 that flag
is only accepted by the codex exec subcommand, not by the top-level
interactive codex. The session dies before the TUI starts. The
autonomous path (codex exec ... --skip-git-repo-check) is fine.
Environment
- claude-swarm: v0.22.0 (commit 970ed59)
- codex-cli: 0.144.1
(the driver's own comments reference 0.120.0 / gpt-5.4, so it looks
like it was written against an older codex CLI where the top-level
codex still accepted --skip-git-repo-check.)
- driver: lib/drivers/codex-cli.sh
Symptom (verbatim)
interactive[explore] starting Codex CLI
Profile prompt is available at tasks/explore.md
error: unexpected argument '--skip-git-repo-check' found
tip: to pass '--skip-git-repo-check' as a value, use '-- --skip-git-repo-check'
Usage: codex [OPTIONS] [PROMPT]
codex [OPTIONS] [ARGS]
For more information, try '--help'.
The interactive branch is still created and pushed, but no TUI ever
opens, so the profile is unusable.
Reproduction
- A swarm.json using
"driver": "codex-cli" with any agent profile,
e.g. { "name": "explore", "count": 0, "model": "gpt-5.6-sol",
"auth": "chatgpt", "prompt": "tasks/explore.md" }.
- codex-cli 0.144.x installed and authenticated.
- Run: ./launch.sh interactive explore
-> fails with the error above.
Root cause
In lib/drivers/codex-cli.sh, the two invocations differ:
-
agent_run() (autonomous) uses the EXEC subcommand, which DOES accept
the flag -- this is correct:
codex exec \
--dangerously-bypass-approvals-and-sandbox \
-m "$model" \
--json \
--skip-git-repo-check \
...
-
agent_interactive_run() (interactive/chat) uses the TOP-LEVEL codex
(the TUI), which does NOT accept the flag in codex 0.144.x:
codex \
--dangerously-bypass-approvals-and-sandbox \
-m "$model" \
--skip-git-repo-check \ <-- rejected by the TUI
"${effort_args[@]+"${effort_args[@]}"}"
In current codex CLI, --skip-git-repo-check is an argument of the
codex exec subcommand only; it is not a top-level/global flag, so the
interactive codex errors out on it.
Why the flag isn't needed for the interactive path anyway
lib/interactive.sh sets the workspace up with git clone /upstream /workspace, so /workspace is always a git repository. The interactive
codex TUI's git-repo check therefore passes with or without the flag;
the flag is unnecessary here.
Suggested fix
Drop --skip-git-repo-check from agent_interactive_run() in
lib/drivers/codex-cli.sh. Minimal patch:
--- a/lib/drivers/codex-cli.sh
+++ b/lib/drivers/codex-cli.sh
@@ agent_interactive_run()
codex
--dangerously-bypass-approvals-and-sandbox
-m "$model" \
-
--skip-git-repo-check \
"${effort_args[@]+"${effort_args[@]}"}"
(Verified locally: with this line removed, ./launch.sh interactive <profile> starts the codex TUI normally; the workspace is a git repo,
so no git-repo-check warning appears.)
If some supported codex versions still require the flag on the
interactive path, gate it by codex --version instead of passing it
unconditionally. The autonomous codex exec path should be left
unchanged.
Impact
interactive and chat are completely non-functional for the
codex-cli driver on current codex CLI (0.144.x). Autonomous runs
(start / post-process, which go through codex exec) are
unaffected.
Steps to reproduce
No response
Expected vs actual behavior
No response
Version
0.22
Summary
codex-cli driver:
interactive/chatbroken -- passes the exec-onlyflag
--skip-git-repo-checkto the interactivecodexTUI, whichcurrent codex CLI rejects.
Summary
./launch.sh interactive <profile>(andchat) with the codex-clidriver fails immediately: the driver invokes the interactive
codexTUI with
--skip-git-repo-check, but in codex-cli 0.144.1 that flagis only accepted by the
codex execsubcommand, not by the top-levelinteractive
codex. The session dies before the TUI starts. Theautonomous path (
codex exec ... --skip-git-repo-check) is fine.Environment
(the driver's own comments reference 0.120.0 / gpt-5.4, so it looks
like it was written against an older codex CLI where the top-level
codexstill accepted--skip-git-repo-check.)Symptom (verbatim)
interactive[explore] starting Codex CLI
Profile prompt is available at tasks/explore.md
error: unexpected argument '--skip-git-repo-check' found
Usage: codex [OPTIONS] [PROMPT]
codex [OPTIONS] [ARGS]
For more information, try '--help'.
The interactive branch is still created and pushed, but no TUI ever
opens, so the profile is unusable.
Reproduction
"driver": "codex-cli"with any agent profile,e.g. { "name": "explore", "count": 0, "model": "gpt-5.6-sol",
"auth": "chatgpt", "prompt": "tasks/explore.md" }.
-> fails with the error above.
Root cause
In lib/drivers/codex-cli.sh, the two invocations differ:
agent_run() (autonomous) uses the EXEC subcommand, which DOES accept
the flag -- this is correct:
agent_interactive_run() (interactive/chat) uses the TOP-LEVEL codex
(the TUI), which does NOT accept the flag in codex 0.144.x:
In current codex CLI,
--skip-git-repo-checkis an argument of thecodex execsubcommand only; it is not a top-level/global flag, so theinteractive
codexerrors out on it.Why the flag isn't needed for the interactive path anyway
lib/interactive.sh sets the workspace up with
git clone /upstream /workspace, so /workspace is always a git repository. The interactivecodexTUI's git-repo check therefore passes with or without the flag;the flag is unnecessary here.
Suggested fix
Drop
--skip-git-repo-checkfrom agent_interactive_run() inlib/drivers/codex-cli.sh. Minimal patch:
--- a/lib/drivers/codex-cli.sh
+++ b/lib/drivers/codex-cli.sh
@@ agent_interactive_run()
codex
--dangerously-bypass-approvals-and-sandbox
-m "$model" \
(Verified locally: with this line removed,
./launch.sh interactive <profile>starts the codex TUI normally; the workspace is a git repo,so no git-repo-check warning appears.)
If some supported codex versions still require the flag on the
interactive path, gate it by
codex --versioninstead of passing itunconditionally. The autonomous
codex execpath should be leftunchanged.
Impact
interactiveandchatare completely non-functional for thecodex-cli driver on current codex CLI (0.144.x). Autonomous runs
(
start/post-process, which go throughcodex exec) areunaffected.
Steps to reproduce
No response
Expected vs actual behavior
No response
Version
0.22