in goal last steer is re-included after each compaction
Resolved 💬 4 comments Opened May 6, 2026 by Szpadel Closed May 30, 2026
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?
- Start long running /goal
- At some point sent steer like, refactor X now
- Agent will address steer message as expected, and continue normally
- Compaction happens
- Agent re-recive last steer again and tries to address it again
- 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/steerbecomes 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.
/goalcontinuation prompts are injected asdevelopermessages, 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.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗