fix(cli): resolve plan exit approval submissions - #10895
Merged
Merged
Conversation
lambertjosh
marked this pull request as ready for review
June 4, 2026 02:38
Contributor
Author
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge The second commit finishes the cleanup started in the first: removes the Files Reviewed (4 files)
Reviewed by claude-4.6-sonnet-20260217 · 321,631 tokens Review guidance: REVIEW.md from base branch |
imanolmzd-svg
approved these changes
Jun 4, 2026
t7tran
pushed a commit
to t7tran/kilocode
that referenced
this pull request
Aug 14, 2026
* fix(cli): resolve plan exit approval submissions * refactor(cli): remove plan followup question fallback
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Fixes plan_exit from being stuck and unable to be dismissed or complete submission.
Details
plan_exitapproval questions through the listener-local question service so HTTP submissions resolve the pending request that produced the popup.Context
The approval popup was emitted through the global event bus, but its pending request lived in a separate module-level question runtime. The HTTP reply endpoint uses the listener-local service, so clicking Submit could reach a different pending-request map and appear to do nothing.
The fix removes that standalone question runtime. Active session loops now inject their listener-local service explicitly, while direct domain tests inject a test-owned adapter.
Root Cause Timeline
This regression is related to the recent Promise-to-Effect migration, but the behavior changed when the native Effect HttpApi server became the only server backend rather than when the Promise facades were removed.
e4c9b4363ereplacedSession.*Promise facade helpers with direct Effect service calls, andaec4c4f0f0removed the Question compatibility facade as part of the same migration effort.7cc6080646removed the stable Hono backend path and madeServer.listen()always use the native Effect HttpApi server.plan_exitfollow-up popup still used the module-levelPlanFollowupRuntime.questionruntime, while/question/:requestID/replyused the listener-localQuestion.Service.AppRuntime, so both paths resolved the same pending-question state. After the cutover, the popup could still render through the global event bus, but Submit and Dismiss targeted a different pending-question map.Screenshots
See below.