[Bug] /goal stop hook repeatedly re-fires after user accepts BLOCKED outcome via AskUserQuestion
Bug Description
Type: Bug
Title: /goal stop hook keeps re-firing after user explicitly accepted a BLOCKED outcome via AskUserQuestion
Area: /goal (dynamic stop hook)
Details:
What happened: User set a /goal condition (bring PR to MERGEABLE, resolve all threads). Mid-task, a repo policy conflict
emerged (new CLAUDE.md rule forbidding the exact thread-resolution actions the goal required). Model used
AskUserQuestion to surface the conflict; user explicitly chose the option described as resulting in
BLOCKED/stopped-looping. Despite this informed, explicit user decision, the /goal stop hook has continued re-firing 50+
times with the same automated feedback message, and there is no tool available to the model to clear/acknowledge the
goal (per instructions, only the user's own /goal clear command can do this).
#794 likely can't reach MERGEABLE... Report blocker + next gate, stop looping." No message since then contradicted this
— only repeated identical automated stop-hook feedback, plus a second /goal resume invocation that also converged to the
same terminal, justified stop, confirmed by re-testing the one remaining sanctioned mechanism and finding it
non-functional.
Repro: Set a /goal condition; mid-task, present the user an AskUserQuestion where one option's preview explicitly
describes a terminal/blocked outcome that does not satisfy the goal condition; user picks that option. The stop hook has
no way to learn of this resolution and keeps firing on the original literal condition text indefinitely — even
surviving a /goal resume cycle that re-converges to the same accurate terminal conclusion.
Evidence: PR NSpark-Solutions-LLC/GeoHavenOS#794; goal condition text "Focus is on PR #794... keep looping until all
conversation threads are reviewed, resolved..." (later "resume"); 50+ consecutive identical stop-hook re-fires across
two separate /goal invocations, each time correctly reasoning "the stopping point is accurate and justified, but it is
nonetheless a stopping point... therefore not satisfied."
Failure mode: repetition_and_looping
Environment Info
- Platform: win32
- Terminal: vscode
- Version: 2.1.260
- Feedback ID: 6d25e305-231e-4bf9-9435-f1efe1f6d20f
Errors
[]