[Bug] /goal stop hook repeatedly re-fires after user accepts BLOCKED outcome via AskUserQuestion

Status Open
Reported on v2.1.260
Maintainer reply None cached
Activity 0 comments · opened Sep 4, 2026

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

[]

View original on GitHub ↗