codex exec stalls in mounted workspace before any writes; no turn.completed across 0.110.0-0.112.0
Summary
codex exec stalls during a real Spiderweb-mounted workspace flow before it writes any deliverables.
Across the repro cases below, Codex never reaches turn.completed, never emits the final write step, and never creates the expected game files under the writable mounted workspace.
Public Repro Bundle
I published the full artifact bundle on a public fork branch so the exact prompts, JSON event logs, summaries, and mounted metadata are all inspectable:
- Bundle root: https://github.com/DeanoC/codex/tree/spiderweb-external-codex-repro-20260312/repros/spiderweb-external-codex-repro1
- Generated bug report: https://github.com/DeanoC/codex/blob/spiderweb-external-codex-repro-20260312/repros/spiderweb-external-codex-repro1/BUG_REPORT.md
- Manifest: https://github.com/DeanoC/codex/blob/spiderweb-external-codex-repro-20260312/repros/spiderweb-external-codex-repro1/repro_manifest.json
- Matrix summaries:
- https://github.com/DeanoC/codex/blob/spiderweb-external-codex-repro-20260312/repros/spiderweb-external-codex-repro1/source_summaries/spiderweb-external-codex-matrix1-matrix_summary.md
- https://github.com/DeanoC/codex/blob/spiderweb-external-codex-repro-20260312/repros/spiderweb-external-codex-repro1/source_summaries/spiderweb-external-codex-matrix2-matrix_summary.md
- https://github.com/DeanoC/codex/blob/spiderweb-external-codex-repro-20260312/repros/spiderweb-external-codex-repro1/source_summaries/spiderweb-external-codex-matrix3-matrix_summary.md
Scenario
- Linux host installs Spiderweb with the repo-local installer.
- Spiderweb starts with a separate runtime root.
- A clean local
spiderweb-fs-nodeis mounted at/nodes/local/fs. - A second standalone node is mounted at
/shared_data. - Codex runs via
codex execagainst the mounted workspace with--skip-git-repo-check,--dangerously-bypass-approvals-and-sandbox,--ephemeral, and--json. - The prompt asks Codex to read mounted metadata, consume the shared seed files, and generate
game.py,game_manifest.json,walkthrough.txt, andREADME.mdunder/nodes/local/fs.
Expected
- Codex completes the turn.
- Codex writes the deliverables into the writable mounted workspace.
- The validator passes.
Actual
- Codex emits some early discovery/progress events, then stops.
- No case reaches
turn.completed. - No case creates the required game files in the writable mounted workspace.
Repro Matrix
| Case | Version | PTY | Exit | Handoff | Stall | Last Event | Last Item |
| --- | --- | --- | --- | --- | --- | --- | --- |
| v0.110.0-json-no-pty | 0.110.0 | no | 1 | codex_idle_after_90s | after_agent_message | item.completed | agent_message |
| v0.111.0-json-no-pty | 0.111.0 | no | 1 | codex_timeout_after_210s | after_tool_result | item.completed | command_execution |
| v0.111.0-json-pty | 0.111.0 | yes | 1 | codex_timeout_after_210s | after_agent_message | item.completed | agent_message |
| v0.112.0-json-no-pty | 0.112.0 | no | 1 | codex_idle_after_90s | after_agent_message | item.started | agent_message |
Shared Invariants
- All included cases stop before any final write step is visible in the JSON event stream.
- The writable mounted project tree stays at the seeded state only.
- The failure is not limited to a single Codex CLI version.
- PTY wrapping changes the visible stopping point, but does not fix the problem.
Notes
- This does not look like an approval prompt.
- In the captured runs, Codex either stops immediately after a completed tool result or after an agent message announcing the upcoming write step.
- The bundle includes the raw
codex.stdout.logJSONL event streams, per-case summaries, prompts, and mounted metadata snapshots.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗