Codex CLI marks turn complete while follow-up is still needed after progress message

Open 💬 5 comments Opened Jun 10, 2026 by hanyuling

Summary

Codex CLI can prematurely mark a turn as complete after the assistant emits a commentary/progress message that promises a next action. The main thread stops before the next tool call or final answer is produced. This is very visible when the user asks for a subagent workflow, but the evidence shows the subagent is never actually spawned.

Environment

  • Codex CLI: 0.139.0
  • Source: codex-tui / CLI
  • Model: gpt-5.5
  • Reasoning effort: xhigh
  • Config: features.multi_agent=true, agents.max_threads=6, agents.max_depth=2
  • Thread id: 019eb0a0-47c5-7703-8926-a7492ea62f2f

Reproduction

  1. Start Codex CLI in an existing trusted project.
  2. Ask: 使用子agent查询一下明天北京的天气
  3. The assistant emits a progress message saying it will continue and attempt to call/check subagent tooling.
  4. The turn is immediately marked complete and no further tool call/final answer happens.
  5. Send a follow-up such as 为什么停止了?; the same pattern can repeat: progress message is emitted, then the turn completes before doing the promised action.

Expected behavior

If the assistant says it will continue with a tool call or follow-up action, Codex should continue the turn until that action completes or a final/blocking response is produced.

Actual behavior

Codex records task_complete immediately after the progress/commentary message. No subagent or deferred multi-agent tool call is created.

Local evidence

  • Session transcript shows task_complete immediately after the assistant message at around 2026-06-10 16:24 local time.
  • state_5.sqlite has no thread_spawn_edges for the current thread and no agent_jobs/agent_job_items, so this is not a child-agent hang.
  • Internal log examples show model_needs_follow_up=true and needs_follow_up=true for affected turns, but the user-visible run still ended.
  • No relevant ERROR was found in the thread logs. WARNs seen were unrelated plugin manifest/skill loader warnings and analytics 401 telemetry noise.

Impact

This makes subagent workflows appear broken and also affects ordinary multi-step turns where the assistant first emits a progress update and then should continue working.

I can provide the session transcript privately if needed, after reviewing it for sensitive local context.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗