/goal + superpowers:brainstorming: assistant self-loops, generating ~150 duplicate clarifying questions without user input

Resolved 💬 2 comments Opened May 8, 2026 by intovery Closed May 8, 2026

What version of Codex CLI is running?

codex-cli 0.129.0

What subscription do you have?

Plus

Which model were you using?

gpt-5.5 (reasoning effort: medium)

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

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

Warp

What issue are you seeing?

Under an active /goal, after the assistant uses the
superpowers:brainstorming skill and asks a single clarifying
question, it fails to yield the turn to the user. Instead, it
generates ~150+ additional assistant turns by itself, each one
a slightly rephrased version of the same confirmation question,
with no user message in between any of them. Tokens are
consumed continuously. The goal-mode timer reached 840 seconds
before I manually interrupted by sending a user message.

Concrete pattern observed:

  • The assistant asks a normal clarifying question once

(e.g., "Should I name it <name>?").

  • Without any user reply, it then produces another assistant

turn rephrasing the same question
("Shall I proceed?", "Confirm please?", "Awaiting reply", ...).

  • This continues indefinitely. Wording varies every turn;

semantics are identical. The model is genuinely re-generating
each turn (not buffer replay).

  • Tokens are consumed on every turn.
  • The loop terminates instantly upon any user message. At that

point the assistant correctly recognizes the bug and apologizes:
"I sent the same confirmation question repeatedly. My turn
control got tangled."

This appears to be a turn-yield bug specific to the
"ask one question first" flow of superpowers:brainstorming
under an active /goal. The goal-continuation runtime seems
to treat the absence of a user reply as "still working" and
keeps the model generating, instead of yielding and waiting.
Because each generated turn is itself an assistant message,
the loop never observes the user reply that would break it.

What steps can reproduce the bug?

  1. Enable goals: [features] goals = true in config (or via

/experimental).

  1. Start a /goal for a brainstorming-style task that requires

the assistant to scaffold something new (e.g., "create a mini
side-project under <some path> that demonstrates X").

  1. The assistant invokes the superpowers:brainstorming skill

and asks one normal clarifying question
(e.g., "Should I name it <name>?").

  1. Do not reply. Wait silently.
  2. Observe: the assistant generates a new turn on its own,

asking essentially the same question with slightly different
wording.

  1. The self-generated turns continue indefinitely. In my session,

~150+ turns accumulated over ~14 minutes before I broke the
loop by sending any user message.

Uploaded thread: 019e084e-399c-79a1-af82-d9657d78787c

What is the expected behavior?

After asking a clarifying question, the assistant should yield
the turn and wait silently for the user. No further assistant
turns should be generated until the user replies.

Concretely:

  • One clarifying question = one assistant turn, then stop.
  • Goal-mode continuation should not re-trigger the model when

the previous turn ended with an unanswered user-facing question.

  • If a continuation watchdog must run, it should detect "last

turn was a user-facing question awaiting reply" and skip the
continuation, rather than generating another turn.

Additional information

Related but distinct issues:

  • #21176 — /goal marks objective as done prematurely.

Different: in my case the goal never starts working at all;
it stays in the clarifying-question phase.

  • #20656 — Plan mode silently suppresses goal continuation

with 0 tokens consumed. Different: tokens are actively
consumed here, and Plan mode was off.

  • #20591 / #20598 — explicit thread/goal/set errors.

Different: no error is surfaced; the loop runs cleanly from
the user's perspective.

Debugging hints from the session:

  • The repeated questions are semantically identical but

lexically varied (~150 unique rephrasings). This rules out
a stuck output buffer being replayed and points to the model
being re-invoked each turn with a context that signals
"still need confirmation."

  • The instant recovery on user input suggests the bug is

isolated to the "no user reply yet → keep generating" path;
once a user message arrives, normal turn-taking resumes
immediately and the assistant explicitly acknowledges the
loop was a malfunction.

  • Skills active during the loop: superpowers:brainstorming,

superpowers:using-superpowers. The loop began immediately
after superpowers:brainstorming was invoked for the first
clarifying question.

  • Goal-mode timer at the point of interruption: ~840 seconds.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗