Repository navigation
fix: settle Claude Stop reentry after hook block - #15603
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe Stop-hook pending-work check no longer treats ChangesStop-hook status handling
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: Merge Risk: ⚪ Minimal · up to The change addresses sessions remaining Running after a blocked Stop hook, with no identified issue requiring resolution before merge. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change fixes a session that remained Running after work had finished. No new external access was identified. A narrow concurrency question remains: an older Stop callback might mark a newer turn Idle. Retained concerns
Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Hardening Proposals
🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
CI failure attributionCI passes on Written by |
|
Merge receipt for |
c7fea92 Fix Codex monitor recovery during transient owner loss (manaflow-ai#15612) c48b690 fix: settle Claude Stop reentry after hook block (manaflow-ai#15603) 39d4a47 fix(ci): classify all missing Xcode pin failures (manaflow-ai#15605) c0538b5 test: isolate mobile lifecycle registry from live host (manaflow-ai#15566) c9ced10 test: remove flaky shell startup timing assertion (manaflow-ai#15589) 4de2a66 test: isolate mirror topology fixtures from window docks (manaflow-ai#15573)
Summary
Fixes #15595.
Claude marks a final Stop callback with
stop_hook_active=truewhen it is re-entering after a Stop hook was blocked. cmux treated that marker as unfinished work and left the sessionRunningeven when no background task remained. The callback now settlesIdlebased only on authoritative background-work signals.Testing
stop_hook_active=trueand the resulting Idle status.Changelog
Fixed: Claude sessions now return to Idle after a final Stop callback that re-enters a previously blocked hook.
Demo Video
Not recorded; this is covered by the socket regression harness.
Checklist
Summary by CodeRabbit