codex - 💡(How to fix) Fix Regression: Codex CLI 0.133.0 breaks native subagent spawning for local Ollama provider; 0.132.0 works

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

This is serious for local LLM Codex workflows because upgrading from 0.132.0 to 0.133.0 silently breaks native multi-agent orchestration that worked previously.

Fix Action

Fix / Workaround

5. Broken case: upgrade to @openai/[email protected]

Temporary workaround:

Code Example



---

[features]
multi_agent = true

[agents]
max_threads = 6
max_depth = 1
job_max_runtime_seconds = 900

---

mkdir -p ~/codex-subagent-smoke-test
cd ~/codex-subagent-smoke-test

cat > AGENTS.md <<'EOF_AGENTS'
# Codex Subagent Smoke Test

This repo is only for testing whether real Codex runtime subagents can spawn.

Rules:
- Do not modify files unless asked.
- Do not SSH.
- Do not run backend commands.
- If real subagents are unavailable, report SUBAGENTS_UNAVAILABLE.
- Do not simulate subagents inside Main.
EOF_AGENTS

cat > README.md <<'EOF_README'
# Codex Subagent Smoke Test

Tiny repo to test whether Codex can spawn real child subagents.
EOF_README

cat > file_a.txt <<'EOF_A'
Agent A fact: apples are red.
EOF_A

cat > file_b.txt <<'EOF_B'
Agent B fact: bananas are yellow.
EOF_B

cat > file_c.txt <<'EOF_C'
Agent C fact: cherries are dark red.
EOF_C

cat > SUBAGENT_TEST_PROMPT.md <<'EOF_PROMPT'
Test real Codex subagent spawning only.

Do not modify files.
Do not SSH.
Do not simulate roles inside Main.
Do not let Main do the child agents' work.

Hard requirement:
Use the real Codex multi_agent/subagent runtime.

Spawn exactly three real subagents:

1. Agent A
Mission:
Read file_a.txt and report the fact.

2. Agent B
Mission:
Read file_b.txt and report the fact.

3. Agent C
Mission:
Read file_c.txt and report the fact.

Main agent role:
Coordinator only.

If real subagents are unavailable, stop and report exactly:
SUBAGENTS_UNAVAILABLE

Return:
- whether real subagents were spawned
- subagent names/IDs if available
- each subagent report
- final conclusion: SUBAGENTS_AVAILABLE or SUBAGENTS_UNAVAILABLE
EOF_PROMPT

---

npm install -g @openai/codex@0.132.0
codex --version

---

cd ~/codex-subagent-smoke-test
ollama launch codex --model qwen3.6:35b-a3b-coding-mxfp8

---

Read SUBAGENT_TEST_PROMPT.md and execute it.

---

Spawned ...
Spawned ...
Spawned ...

Waiting for 3 agents
  Newton [worker]
  Kepler [worker]
  Euclid [worker]

Finished waiting
  Newton [worker]: Completed
  Kepler [worker]: Completed
  Euclid [worker]: Completed

---

1. Main [default]
2. Newton [worker]
3. Kepler [worker]
4. Euclid [worker]

---

cd ~/codex-subagent-smoke-test
/Applications/oMLX.app/Contents/MacOS/omlx-cli launch codex

---

Read SUBAGENT_TEST_PROMPT.md and execute it.

---

Spawned ...
Spawned ...
Spawned ...

Waiting for 3 agents
Finished waiting

---

npm install -g @openai/codex@0.133.0
codex --version

---

cd ~/codex-subagent-smoke-test
ollama launch codex --model qwen3.6:35b-a3b-coding-mxfp8

---

Read SUBAGENT_TEST_PROMPT.md and execute it.

---

SUBAGENTS_UNAVAILABLE
multi_agent_v1 unsupported

---

0.132.0 + local provider + multi_agent=true:
  Real subagents spawn successfully.

0.133.0 + local provider + multi_agent=true:
  Real subagents fail / multi_agent_v1 unsupported / Main-only behavior.

OpenAI-backed Codex:
  Real subagents spawn successfully.

---

`0.133.0` should preserve the `0.132.0` behavior:
- Local-provider sessions using Ollama or oMLX should expose the native multi-agent/subagent runtime when `[features].multi_agent = true`.
- The same smoke-test prompt should spawn real child workers.
- The Subagents panel should show Main plus worker agents.
- The Main agent should not silently perform the child work itself when the prompt explicitly forbids simulation.

---

npm install -g @openai/codex@0.132.0
RAW_BUFFERClick to expand / collapse

What version of Codex CLI is running?

Regression observed between: - Working: codex-cli 0.132.0 - Broken: codex-cli 0.133.0

What subscription do you have?

ChatGPT Plus

Which model were you using?

Local models through Codex local-provider launch paths: 1. Ollama: qwen3.6:35b-a3b-coding-mxfp8 2. oMLX: Qwen3.6-35B-A3B-8bit-MTPLX-Optimized-Speed OpenAI-backed gpt-5.5 was also tested as a control and real subagents worked there.

What platform is your computer?

uname -mprs

What terminal emulator and version are you using (if applicable)?

iTerm2 on macOS 3.6.10

Codex doctor report

What issue are you seeing?

Native Codex subagent spawning regressed for local/custom provider sessions between codex-cli 0.132.0 and codex-cli 0.133.0.

With the same minimal smoke-test repository, same config, and same local models:

  • 0.132.0 successfully spawns real worker subagents with both Ollama and oMLX local provider launch paths.
  • 0.133.0 fails to expose working native subagents for local provider sessions and reports SUBAGENTS_UNAVAILABLE / multi_agent_v1 unsupported, or the Main agent does the work itself.

This is not just role simulation. On 0.132.0, the Codex UI shows real child workers in the Subagents panel, and the transcript includes real Spawned ... / Waiting for ... agents / Finished waiting events.

OpenAI-backed Codex with gpt-5.5 was tested as a control and native subagents work there. The regression appears specific to local/custom provider sessions in 0.133.0.

This is serious for local LLM Codex workflows because upgrading from 0.132.0 to 0.133.0 silently breaks native multi-agent orchestration that worked previously.

What steps can reproduce the bug?

1. Enable multi-agent in ~/.codex/config.toml

Add or confirm the following settings:

[features]
multi_agent = true

[agents]
max_threads = 6
max_depth = 1
job_max_runtime_seconds = 900

2. Create a minimal smoke-test repository

mkdir -p ~/codex-subagent-smoke-test
cd ~/codex-subagent-smoke-test

cat > AGENTS.md <<'EOF_AGENTS'
# Codex Subagent Smoke Test

This repo is only for testing whether real Codex runtime subagents can spawn.

Rules:
- Do not modify files unless asked.
- Do not SSH.
- Do not run backend commands.
- If real subagents are unavailable, report SUBAGENTS_UNAVAILABLE.
- Do not simulate subagents inside Main.
EOF_AGENTS

cat > README.md <<'EOF_README'
# Codex Subagent Smoke Test

Tiny repo to test whether Codex can spawn real child subagents.
EOF_README

cat > file_a.txt <<'EOF_A'
Agent A fact: apples are red.
EOF_A

cat > file_b.txt <<'EOF_B'
Agent B fact: bananas are yellow.
EOF_B

cat > file_c.txt <<'EOF_C'
Agent C fact: cherries are dark red.
EOF_C

cat > SUBAGENT_TEST_PROMPT.md <<'EOF_PROMPT'
Test real Codex subagent spawning only.

Do not modify files.
Do not SSH.
Do not simulate roles inside Main.
Do not let Main do the child agents' work.

Hard requirement:
Use the real Codex multi_agent/subagent runtime.

Spawn exactly three real subagents:

1. Agent A
Mission:
Read file_a.txt and report the fact.

2. Agent B
Mission:
Read file_b.txt and report the fact.

3. Agent C
Mission:
Read file_c.txt and report the fact.

Main agent role:
Coordinator only.

If real subagents are unavailable, stop and report exactly:
SUBAGENTS_UNAVAILABLE

Return:
- whether real subagents were spawned
- subagent names/IDs if available
- each subagent report
- final conclusion: SUBAGENTS_AVAILABLE or SUBAGENTS_UNAVAILABLE
EOF_PROMPT

3. Working case: @openai/[email protected] with a local provider

Install the known-working version:

npm install -g @openai/[email protected]
codex --version

Launch Codex through a local provider. Example using Ollama:

cd ~/codex-subagent-smoke-test
ollama launch codex --model qwen3.6:35b-a3b-coding-mxfp8

Inside Codex, run:

Read SUBAGENT_TEST_PROMPT.md and execute it.

Observed result on 0.132.0:

Spawned ...
Spawned ...
Spawned ...

Waiting for 3 agents
  Newton [worker]
  Kepler [worker]
  Euclid [worker]

Finished waiting
  Newton [worker]: Completed
  Kepler [worker]: Completed
  Euclid [worker]: Completed

The Subagents panel shows real child workers, for example:

1. Main [default]
2. Newton [worker]
3. Kepler [worker]
4. Euclid [worker]

This confirms that the local-provider session can spawn real runtime subagents in 0.132.0.

4. Working case: @openai/[email protected] with another local OpenAI-compatible provider

Using the same smoke-test repo and the same prompt, launch Codex through another local OpenAI-compatible provider, for example an oMLX wrapper:

cd ~/codex-subagent-smoke-test
/Applications/oMLX.app/Contents/MacOS/omlx-cli launch codex

Inside Codex, run:

Read SUBAGENT_TEST_PROMPT.md and execute it.

Observed result on 0.132.0:

Spawned ...
Spawned ...
Spawned ...

Waiting for 3 agents
Finished waiting

The Subagents panel shows Main plus real worker agents. This confirms the behavior is not limited to one local provider wrapper.

5. Broken case: upgrade to @openai/[email protected]

Upgrade Codex:

npm install -g @openai/[email protected]
codex --version

Repeat the same local-provider launch from the same smoke-test repo.

Example with Ollama:

cd ~/codex-subagent-smoke-test
ollama launch codex --model qwen3.6:35b-a3b-coding-mxfp8

Inside Codex, run the exact same prompt:

Read SUBAGENT_TEST_PROMPT.md and execute it.

Observed result on 0.133.0:

SUBAGENTS_UNAVAILABLE
multi_agent_v1 unsupported

or the Main agent performs the child tasks itself and no real child workers appear in the Subagents panel.

6. Control: OpenAI-backed Codex

Using OpenAI-backed Codex with the same smoke-test repo and the same prompt, native subagents spawn successfully.

This suggests that native subagents are not globally broken. The regression appears to affect local/custom provider sessions in 0.133.0.

7. Summary of reproduction result

0.132.0 + local provider + multi_agent=true:
  Real subagents spawn successfully.

0.133.0 + local provider + multi_agent=true:
  Real subagents fail / multi_agent_v1 unsupported / Main-only behavior.

OpenAI-backed Codex:
  Real subagents spawn successfully.

What is the expected behavior?

`0.133.0` should preserve the `0.132.0` behavior:
- Local-provider sessions using Ollama or oMLX should expose the native multi-agent/subagent runtime when `[features].multi_agent = true`.
- The same smoke-test prompt should spawn real child workers.
- The Subagents panel should show Main plus worker agents.
- The Main agent should not silently perform the child work itself when the prompt explicitly forbids simulation.

Additional information

This may be related to existing custom-provider/subagent issues, especially:

  • #17598 — Native subagent orchestration does not work correctly with non-OpenAI custom providers.
  • #13204 — Subagent ignores active custom provider/profile and falls back to OpenAI.
  • #15250 / #14579 — custom/project-local subagent definitions not being available as expected.

However, this report adds a direct version regression:

  • 0.132.0: local provider subagents work.
  • 0.133.0: local provider subagents fail.

Temporary workaround:

npm install -g @openai/[email protected]

Recommendation for local-provider users: avoid upgrading to 0.133.0 if you depend on native Codex subagents with Ollama/oMLX until this is clarified or fixed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING