Repository navigation
fix(cli): keep a session goal running when a message arrives - #14101
Merged
marius-kilocode merged 2 commits intoSep 14, 2026
Merged
Conversation
A real user message now takes priority for its turn but no longer pauses an active goal. The goal loop resumes after the user's turn and only stops on goal_report, Stop, or an explicit /goal pause or clear.
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge The three prior suggestions are all addressed in Files Reviewed (4 files)
Previous Review Summary (commit 5665631)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 5665631)Status: 3 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)SUGGESTION
Files Reviewed (7 files)
Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0 Review guidance: REVIEW.md from base branch |
Record superseded markers only while a goal is active, and clear the whole session marker set on consume. Let a blocked or failed goal turn take precedence over a user-message handoff. Wait for the human prompt to queue before releasing the test gate.
marius-kilocode
enabled auto-merge
September 14, 2026 07:46
eshurakov
approved these changes
Sep 14, 2026
marius-kilocode
deleted the
prevent-goal-interruption-on-active-prompt
branch
September 14, 2026 08:09
lambertjosh
added a commit
that referenced
this pull request
Sep 14, 2026
Account for #14101 and #13951 after the original sync. Verify notification channels against #13771 and widget layouts against Kilo-Org/cloud#5620. Clarify partial change summaries from cloud#5810 and remove implementation-heavy prose.
This was referenced Sep 14, 2026
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.
What Problem This Solves
Sending a message while a session goal was active paused the goal. The user had to resume it manually. This contradicts how other agent products treat a mid-run message, where the message steers or queues and the loop keeps running, and it makes it hard to add context during a long goal.
Why This Change Was Made
The goal loop paused the goal for any real user message. A user message should preempt the current goal continuation for its turn but leave the goal active. The prompt queue already hands off to a newer prompt and marks the interrupted turn as
superseded; the goal runner now detects that handoff and loops again after the user's turn instead of settling the goal topaused.The goal still stops on
goal_report, Stop,/goal pause,/goal clear, or a real failure/no-progress turn. Shell commands and slash commands still pause it.User Impact
/goal pauseor/goal clear.Evidence
bun test ./test/kilocode/session/goal.test.ts: 76 pass.bun test ./test/kilocode/session-prompt-queue.test.ts ./test/kilocode/session-prompt-steering.test.ts: 26 pass.bun test ./test/session/prompt.test.ts: 75 pass, 1 skip.bun run typecheckinpackages/opencode: clean.bun run script/check-opencode-annotations.ts --worktree: all shared changes annotated.