app-server can finalize an identical progress message before promised tool work starts

Open 💬 1 comment Opened Aug 3, 2026 by Boulea7
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of Codex CLI is running?

The affected app-server session reported 0.145.0-alpha.30. My currently installed local CLI is 0.144.1.

What subscription do you have?

Pro

Which model were you using?

gpt-5.6-sol, reasoning effort xhigh

What platform is your computer?

Linux, through an app-server v2 integration

What issue are you seeing?

Codex can turn a nonterminal progress message into a final_answer, mark the turn successful, and return to idle before performing any of the work promised by that message.

In two observed turns in the same session:

  • the assistant first emitted a short commentary message such as “I’ll inspect the relevant documentation and task configuration first”;
  • the exact same text was then emitted again with phase=final_answer;
  • no tool call occurred in either turn;
  • the turn completed successfully after 12–13 seconds, the app-server became idle, and the process exited with code 0;
  • sending a follow-up resumed the session, but the promised investigation had not happened.

This is more than a duplicate-rendering problem: downstream app-server clients correctly treat final_answer plus successful turn completion as terminal, so the actual requested work is silently skipped.

Sanitized event shape:

agent_message  phase=commentary   text="I'll inspect the relevant sources first..."
message        phase=commentary   text="I'll inspect the relevant sources first..."
agent_message  phase=final_answer text="I'll inspect the relevant sources first..."
message        phase=final_answer text="I'll inspect the relevant sources first..."
task_complete  last_agent_message="I'll inspect the relevant sources first..."

There was no pending approval, tool error, transport interruption, or context-window exhaustion. The input occupied roughly one quarter of the available context, and the same session had completed a tool-heavy turn a few minutes earlier.

This appears related to openai/codex#27352, which tracks premature turn completion after progress messages, and openai/codex#15633, which tracks identical commentary/final text. The distinguishing symptom here is their combination: the duplicate final_answer is accepted as a successful terminal response and prevents the promised tool work from starting.

What steps can reproduce the bug?

The issue is intermittent, but the observed pattern was:

  1. Resume a long-lived app-server session that has recently completed normal tool-heavy work.
  2. Ask for a multi-step investigation that clearly requires tool calls.
  3. Codex emits a future-intent progress update in commentary.
  4. Observe the same text emitted as final_answer without an intervening tool call.
  5. Observe the turn complete successfully and the session return to idle.
  6. Send a follow-up such as continue; the session remains usable and work can proceed.

What is the expected behavior?

A message that only announces future work should not be accepted as the terminal answer for the same turn. Codex should either continue to the promised tool/action sequence, emit a concrete blocking explanation, or produce a substantive final answer.

A useful regression test would feed the agent loop identical commentary and final-answer items whose text expresses a pending action, with no tool call or blocker, and assert that the turn does not silently complete as successful.

Additional information

This report intentionally omits organization names, workspace/project names, internal URLs, prompts, conversation/run/device identifiers, credentials, and raw private logs. Sanitized rollout excerpts can be provided privately if maintainers need them.

View original on GitHub ↗

1 Comment

github-actions[bot] contributor · 25 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #35815
  • #36596

Powered by Codex Action