Repository navigation
Set Claude idle after reentrant stop without work - #16635
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 🧰 Additional context used📚 Code guidelines (3)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review. 📝 WalkthroughWalkthroughClaude Stop handling no longer treats ChangesClaude Stop status
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Low Merge Risk: ⚪ Minimal · up to Re-entrant Stops without background work now select Idle while pending work and Stop failures retain their respective statuses. No merge-blocking issue remains after normal checks. 🚥 Pre-merge checks | ✅ 24 | ❓ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (24 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 2 files. (1 skipped: 1 too large.) ✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 OpenGrep (1.30.0)CLI/cmux.swiftOpenGrep scan timed out 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 |
|
All contributors have signed the CLA ✍️ ✅ |
CI failure attributionCI failed on
Matched log linesNot re-run automatically: Written by |
…test The Python test still asserted the old Running behaviour this change removes. Co-authored-by: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
|
Merge receipt for
Labeled |
00f182f Set Claude idle after reentrant stop without work (manaflow-ai#16635) d8ef7e7 Reject unknown and valueless options in cmux hooks setup (manaflow-ai#17183) 46b5f9c remote-tmux: let a failed socket request say what failed (manaflow-ai#17134) e88d636 remote-tmux: re-read a pane from tmux when its width changes, not only when it grows (manaflow-ai#17140) 984baea remote-tmux: close a window emptied by gathering its mirrors into a new one (manaflow-ai#17141) 9c41d59 fix: recover hidden terminal renderer after window attach (manaflow-ai#16548) 70854a5 ci: publish dogfood artifacts from red CI runs (manaflow-ai#17210) db77e58 fix(cli): reject missing notify text values (manaflow-ai#16778) 76ccbfc ci: activate org-member dogfood artifact publisher (manaflow-ai#17206)
Problem
Claude Code can send a final re-entrant
Stopwithstop_hook_active: trueafter an async wake-up. When no background task or scheduled wake-up remains, cmux records the turn as idle but leaves the sidebar pill on Running until another user prompt arrives.Fix
Treat
stop_hook_activeas hook recursion only. The status decision now depends on the authoritative background-work fields:Validation
CLI/cmux.swiftand the regression testpython3 scripts/verify-local.py --affected mf/maingit diff --checkFixes #16495
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Fixes the sidebar pill staying stuck on Running after a re-entrant Stop with no background work. The status decision now treats
stop_hook_activeas hook recursion only, so a final re-entrant Stop with no pending work settles the pane to Idle instead of waiting for the next user prompt.Stop failures remain visible as errors, and live background tasks and scheduled wake-ups still show Waiting.
Fixes #16495.
Written for commit 28690c9. Summary will update on new commits.
Summary by CodeRabbit