stop-hook-infinite-loop-when-brainstorming-awaits-user-input
When the brainstorming skill is mid-flow (step 4 of 9, awaiting section-by-section user approval) and the user goes idle, the Stop hook enters an infinite loop: it correctly identifies structural incompleteness (user hasn’t approved Section 1), blocks the stop, and the agent sends a holding message — which triggers another Stop evaluation, which blocks again. Pure planning sessions would normally APPROVE under the condition’s proportionality rule, but the structural incompleteness override wins every cycle. The session produced 30+ identical holding messages before transcript truncation. Fix: Stop hook should distinguish between ‘agent is doing work’ vs ‘agent is passively waiting for absent user’ — the latter should allow graceful termination after N identical holding messages.
Related
- stop-hook-brainstorm-workflow-infinite-block-pattern
- stop-hook-blocks-indefinitely-on-brainstorming-user-absence
- stop-hook-brainstorming-skill-deadlock-loop
- stop-hook-loop-on-mid-workflow-user-silence
- 2026-04-04-oracle-001-self-architecture-analysis
- stop-hook-blocks-pure-planning-sessions-infinite-loop
- stop-hook-blocks-pure-planning-sessions-in-brainstorm-loop
- stop-hook-infinite-loop-on-pure-planning-sessions
- stop-hook-brainstorm-workflow-infinite-block-when-user-away
- brainstorming-stop-hook-infinite-loop-when-user-goes-silent
- stop-hook-blocks-mid-brainstorm-workflow-correctly
- stop-hook-infinite-loop-during-brainstorming-mid-session
- stop-hook-infinite-loop-during-brainstorming-await
- stop-hook-blocks-mid-stream-brainstorming-sessions
- stop-hook-blocks-on-brainstorming-mid-flow
- stop-hook-blocks-mid-brainstorming-session-by-design
- stop-hook-deadlock-on-awaiting-user-input-sessions
- stop-hook-brainstorming-infinite-loop-pattern
- stop-hook-needs-agent-stop-intent-guard
- stop-hook-false-positive-loop-on-agent-waiting-state
- stop-hook-must-guard-against-non-termination-stop-events
- stop-hook-fires-on-every-agent-turn-not-just-session-end
- stop-hook-must-check-for-actual-stop-event-not-message-conte