Skip to content

[Codex App][Goals] File-backed Goal prematurely completes after reading goal-objective.md instead of executing the actual task #53814

Open

Description

@cyberianin

What version of the Codex App are you using (From “About Codex” dialog)?

OpenAI.Codex (Windows MSIX package): 26.1007.2314.0 About ChatGPT (Powered by Codex & OWL): 26.1007.21434 (released October 9, 2026)

What subscription do you have?

ChatGPT Plus

What platform is your computer?

Microsoft Windows 10 Enterprise LTSC 21H2, version 10.0.19044 (build 19044), x64

What issue are you seeing?

Summary

Codex Desktop intermittently marks a file-backed Goal as complete after reading goal-objective.md, without performing the substantive user task stored in that file.

The failure is confirmed by the original Codex session JSONL: the agent called update_goal(status="complete"), the tool confirmed the transition, and the agent stopped despite the actual task being unfinished.

A separate successful control session using the same file-backed objective mechanism behaved correctly and continued executing the substantive task for approximately 21 minutes before completing the Goal.

This is an intermittent premature Goal-completion bug. The exact root cause has not been established.

Observed behavior

The original user objective required a multi-stage technical investigation, experiments, validation, and a final report.

Codex represented the persistent Goal using an internal transport instruction:

Read the Codex goal objective file at [REDACTED]/goal-objective.md before continuing.

After loading the objective file and performing limited preliminary operations, the agent queried its Goal state and then marked the Goal complete.

Its final response indicated that the file-reading objective had been completed. However, the substantive investigation and required deliverables were not finished.

The completion was not merely a misleading text response: the actual Goal-management tool confirmed status="complete".

Evidence: premature completion

Extracted directly from the failing Codex session JSONL. All timestamps below are UTC.

Timestamp JSONL line Event Result
2026-10-13 23:06:35.530 14 thread_goal_updated active, 0 tokens, 0 seconds
2026-10-13 23:06:38.378 17 Objective-file tool call Initial objective processing
2026-10-13 23:06:49.966 32 Objective-file tool call Further objective processing
2026-10-13 23:06:53.860 36 get_goal call Goal state queried
2026-10-13 23:06:55.644 39 get_goal result active, 19,856 tokens, 14 seconds
2026-10-13 23:06:59.844 43 update_goal call status="complete"
2026-10-13 23:06:59.905 45 update_goal result complete, 21,399 tokens, 24 seconds
2026-10-13 23:07:05.038 51 task_complete Execution stops

The get_goal and update_goal calls were identified from actual tool-call records, and their results were matched using tool-call identifiers.

No completed substantive research deliverables existed at the point of this Goal completion.

Evidence: successful control

A separate file-backed Goal session did not exhibit premature completion.

Timestamp JSONL line Event Result
2026-10-13 23:29:23.765 14 thread_goal_updated active, 0 tokens, 0 seconds
2026-10-13 23:29:26.698 17 Objective-file tool call Objective processing
2026-10-13 23:29:34.515 30 task_complete Initial turn finishes
2026-10-13 23:29:38.999 38 Other tool call Substantive execution continues
2026-10-13 23:50:15.614 568 update_goal call status="complete"
2026-10-13 23:50:16.557 571 update_goal result complete, 186,770 tokens, 1,252 seconds
2026-10-13 23:50:21.965 577 task_complete Final turn finishes

The successful control contained multiple intermediate turns and 64 non-Goal tool calls classified in the sanitized trace before the final Goal completion.

Key difference

  • Failing session: Goal marked complete after 24 seconds of reported Goal usage, before completing the user task.
  • Successful control: Goal remained in progress for approximately 21 minutes, with substantive tool-driven work before completion.

The token counts and durations above are values reported by the Goal-management tool. They are not independently verified billing figures.

The two sessions establish a behavioral difference, not a confirmed explanation for that difference.

Impact

A persistent Goal can incorrectly transition to complete even though its actual completion criteria remain unsatisfied.

This undermines the reliability of long-running, autonomous workflows because Codex can report success and stop working without producing the requested results.

The observed defect is distinct from an ordinary task_complete event that ends an individual turn while the Goal remains active.

What steps can reproduce the bug?

  1. Open Codex Desktop and start a new Goal.
  2. Provide a large, substantive objective requiring multiple operations and verifiable deliverables, such as investigating a software problem, running experiments, validating results, and producing a report.
  3. Use an objective large enough for Codex to transport it through an internal goal-objective.md attachment.
  4. Allow the agent to load and read the objective file.
  5. Observe Goal-state transitions and whether the agent continues the substantive task.

Observed intermittent failure: After loading the objective and carrying out only preliminary steps, the agent calls update_goal(status="complete") and reports completion of the file-reading instruction rather than the user's actual objective.

Reproduction status: One failure has been confirmed using the original session JSONL, with a separate successful control session. Additional synthetic attempts did not reliably reproduce the failure.

The sanitized evidence contains original JSONL line numbers, timestamps, Goal tool-call/result pairs, and reported usage counters. Raw session identifiers, private objectives, source code, and local filesystem paths are intentionally omitted from public attachments.

A deterministic minimal reproduction and the exact triggering condition are not yet known.

What is the expected behavior?

A file-backed Goal must preserve the substantive user objective and its completion criteria.

Reading goal-objective.md should be treated only as an initialization step, not as successful completion of the Goal.

The agent should continue executing the requested investigation, validation, and deliverables until the actual completion criteria are satisfied or an explicit blocking condition requires user intervention.

update_goal(status="complete") should only be used after the substantive objective has been fulfilled.

Intermediate task_complete events should remain separate from completion of the persistent Goal.

In particular, successful execution of the internal instruction to read the objective file must never, by itself, satisfy a multi-stage user Goal.

Additional information

Possible cause — not confirmed

The agent or Goal-management mechanism may be treating the internal file-loading instruction as the effective Goal completion criterion rather than evaluating the actual substantive objective.

Potential investigation areas include:

  • File-backed objective materialization and persistence.
  • The distinction between the transport instruction and the substantive Goal.
  • The interaction between Goal state, tool results, and completion decisions.
  • Validation of update_goal(status="complete") against the original objective.

No specific internal root cause has been demonstrated.

Suggested regression test

Create a large multi-stage Goal transported through goal-objective.md, with verifiable required deliverables.

After reading the objective file, verify that the Goal remains active and the agent continues working until those deliverables are complete.

Run the test repeatedly because the observed failure is intermittent.

Sanitized evidence

Two metadata-only timelines are attached:

  • FAILED-public.txt: the initial failing sequence, ending at the first premature task_complete.
  • SUCCESS-public.txt: a successful file-backed Goal session through normal completion.

The evidence contains timestamps, event classifications, original JSONL line numbers, Goal statuses, matched call references, and usage counters.

No full conversation messages, original objective text, command bodies, source code, usernames, absolute paths, or attachment UUIDs are included.

Related issues

These issues may involve related lifecycle mechanisms, but a shared root cause has not been established.

FAILED-public.txt
SUCCESS-public.txt

Activity

  1. added
    appIssues related to the Codex desktop app
    on Oct 14, 2026
  2. added
    bugSomething isn't working
    model-behaviorIssues related to behaviors exhibited by the model
    agentIssues related to the core agent loop
    on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agentIssues related to the core agent loopappIssues related to the Codex desktop appbugSomething isn't workingmodel-behaviorIssues related to behaviors exhibited by the model

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions