feat: /fork no longer switches to the forked session - #2565
Merged
Conversation
Forking used to switch to the new session, which closed the source session and force-stopped its background tasks (and canceled any in-flight turn). /fork now creates the copy and stays in the current session; the fork can be opened explicitly via /sessions.
🦋 Changeset detectedLatest commit: 5d8ff30 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
commit: |
Merged
mbuckaway
pushed a commit
to mbuckaway/kimi-code
that referenced
this pull request
Aug 4, 2026
* feat: /fork no longer switches to the forked session Forking used to switch to the new session, which closed the source session and force-stopped its background tasks (and canceled any in-flight turn). /fork now creates the copy and stays in the current session; the fork can be opened explicitly via /sessions. * fix(tui): release fork runtime when staying current
daofazhiran
pushed a commit
to daofazhiran/kimi-code
that referenced
this pull request
Aug 4, 2026
* feat: /fork no longer switches to the forked session Forking used to switch to the new session, which closed the source session and force-stopped its background tasks (and canceled any in-flight turn). /fork now creates the copy and stays in the current session; the fork can be opened explicitly via /sessions. * fix(tui): release fork runtime when staying current
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.
Related Issue
No linked issue — the problem is explained below.
Problem
/forkcurrently switches to the forked session, and switching closes the source session — canceling any in-flight turn and force-stopping all of its background tasks (dev servers, builds, watchers). Forking to explore a side direction should not destroy work still running in the original session.This PR is the lighter of two candidate fixes. The alternative is to detach (rather than close) the previous session on every session switch (
/new,/sessions,/fork), which fixes task-killing on all paths but keeps every switched-away session resident in-process. This PR changes only/forksemantics: create the copy, stay in the current session.What changed
/forkcreates the fork but no longer switches to it. The current session keeps running untouched — background tasks, in-flight turns, and pending interactions all survive. The status message now points to/sessionsfor switching to the fork.Trade-offs to be aware of:
git branchvsgit checkout -b). Switching to the fork takes one explicit step via/sessions./forkis fixed:/newand/sessionsstill close the previous session and stop its background tasks. That needs the detach approach, which can follow separately.Checklist
gen-changesetsskill, or this PR needs no changeset.gen-docsskill, or this PR needs no doc update.