openai / openai/codex

Codex Desktop repeatedly injects duplicate goal continuations without user input

Open
#44,160 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

agent app bug hooks
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

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

26.901.51231

What subscription do you have?

ChatGPT account (subscription tier not recorded)

What platform is your computer?

Darwin 25.6.0 arm64 arm

What issue are you seeing?

Summary

Codex Desktop repeatedly injects the same internal goal-continuation message with no intervening user input. The message begins <codex_internal_context source="goal"> and causes a previously blocked or completed goal to become active again. It produces an automation loop instead of allowing the task to stop or wait for actual user input.

The issue has been repeated within one thread: after the assistant explicitly ignores the injected message and ends the turn, the same message is immediately injected again. The user did not send a new message between injections.

Impact

This makes long-running local work hard to control. The repeated continuation can consume turns, override an intentional stop/block state, and creates pressure to respond to harness-generated content as though it were new user input.

Observed environment

  • Codex Desktop: 26.901.51231
  • Platform: Darwin 25.6.0 arm64 arm
  • Model during the occurrence: gpt-6-astra
  • Local config: Browser and Chrome bundled plugins were enabled.

Relevant local evidence

Both bundled plugins register a Stop hook that calls node_repl.turn_ended:

  • browser@openai-bundled
  • chrome@openai-bundled

The repeated goal injection may be in the goal/harness layer rather than the plugins themselves, but it occurs after this Stop-hook path. Disabling the plugins is a practical workaround being tested; it should not be required to avoid a continuation loop.

No project files, credentials, user content, or tokens are included in this report.

What steps can reproduce the bug?
  1. Start a Codex Desktop task with a persistent goal enabled.
  2. Allow a turn to finish, block the goal, or otherwise reach a state where the task should wait for new user input.
  3. Observe an injected message beginning <codex_internal_context source="goal"> without a user message.
  4. End the response without changing the goal.
  5. Observe the same continuation message injected again, repeatedly, with no intervening user interaction.

Expected: the goal mechanism may preserve task state, but it must not emit duplicate continuation messages or reactivate a task without user input or a verified active job. A blocked goal must remain blocked.

Actual: identical continuation messages recur and instruct the model to continue work, including after attempts to stop or block the goal.

What is the expected behavior?

A persistent goal should remain inactive, completed, or blocked until an actual user interaction or an explicitly verified active operation requires attention. Internal continuation content must not be injected repeatedly without user input.

Additional information

This report deliberately contains no project contents, identifiers, credentials, or raw local logs. I can provide a redacted transcript or diagnostic IDs privately if maintainers request them.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the loop in Codex Desktop with a persistent goal, then inspect the goal/harness flow and the Stop hooks calling node_repl.turn_ended in browser@openai-bundled and chrome@openai-bundled. Confirm whether duplicate goal continuations are emitted after a blocked or completed state; done means no repeated injection or reactivation without user input or a verified active operation.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.