Skip to content

in goal last steer is re-included after each compaction #21291

Closed

Description

@Szpadel

What version of Codex CLI is running?

v0.129.0-alpha.8

What subscription do you have?

pro

Which model were you using?

No response

What platform is your computer?

No response

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

No response

What issue are you seeing?

After each compaction event agent is re-reacting to last sent steer message that is no longer relevant.

What steps can reproduce the bug?

  1. Start long running /goal
  2. At some point sent steer like, refactor X now
  3. Agent will address steer message as expected, and continue normally
  4. Compaction happens
  5. Agent re-recive last steer again and tries to address it again
  6. This will repeat after every future compaction

What is the expected behavior?

Steer should not be re-included after compaction or, next goal cycle should displace user messages in history

Additional information

Here is codex analysis of the issue:

  • turn/steer becomes pending input, then gets recorded as a normal user message once consumed.
  • Compaction preserves recent non-summary user messages. It does not know that an old user message was
    only a temporary steer.
  • /goal continuation prompts are injected as developer messages, not user messages, so they do not
    displace that old steer as the latest “real user” message.
  • After each compaction, the replacement history can still contain that old steer as the most recent
    real user message, plus a fresh summary. The model can then treat it as newly salient and react to it
    again.

Activity

  1. added
    CLIIssues related to the Codex CLI
    contextIssues related to context management (including compaction)
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    on May 6, 2026
  2. github-actions commented on May 6, 2026

    @github-actions
    Contributor

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

    Powered by Codex Action

  3. etraut-openai commented on May 30, 2026

    @etraut-openai
    Contributor

    This is now fixed. Earlier implementations of the /goal feature injected the goal continuation prompt as a developer message. The new implementation uses a user message, which prevents this problem.

  4. nbros commented on Jul 19, 2026

    @nbros

    Doesn't really look fixed to me : in "goal" mode, the agent still seems to be wasting lots of tokens after each compaction re-evaluating the same previous steer message again and again and again.

  5. andrew-adamson-proteros commented on Jul 20, 2026

    @andrew-adamson-proteros

    This is now fixed. Earlier implementations of the /goal feature injected the goal continuation prompt as a developer message. The new implementation uses a user message, which prevents this problem.

    Not fixed for me in Windows.
    Feedback ID 019f7d4d-3161-7ce3-bb2e-2d0b8155f671
    Version 26.715.31925 (latest available at time of writing).

    One workaround I've come up to stop it re-handling old steering messages is to give a follow-up message with something like this:
    "This steering command is an empty command to deal with a codex compacting bug that re-sends previous steering messages. Ignore this message."

  6. andrew-adamson-proteros commented on Jul 28, 2026

    @andrew-adamson-proteros

    @etraut-openai nearly two months later, this bug has not been fixed. These repeated steering commands can do serious damage in a task. Please re-open this issue and prioritise the bug as severe, as it's costing a lot of time and tokens. The sheer number of duplicate/similar issues in github should really be a giveaway that this is affecting a lot of people.

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

    CLIIssues related to the Codex CLIbugSomething isn't workingcontextIssues related to context management (including compaction)sessionIssues involving session (thread) management, resuming, forking, naming, archiving

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions