Repository navigation
fix(agent-manager): keep new files with non-ASCII names when moving a chat to a worktree - #15045
Merged
WebReflection merged 2 commits intoOct 16, 2026
Merged
Conversation
… chat to a worktree
hdcodedev
marked this pull request as ready for review
October 14, 2026 01:29
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge The fix switches untracked-file discovery from Files Reviewed (3 files)
Reviewed by deepseek-v4.1-flash · Input: 41.2K · Output: 4.1K · Cached: 233.1K Review guidance: REVIEW.md from base branch |
WebReflection
enabled auto-merge
October 16, 2026 13:37
WebReflection
approved these changes
Oct 16, 2026
This was referenced Oct 17, 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.
Issue
Fixes #15044
Context
Move to Worktree left new, untracked files with accented or non-Latin names, such as
résumé.txt, in the source folder. The worktree and the conversation opened with no warning, so the agent kept working without part of the user's files. With this change, those files are copied like any other new file.Implementation
résumé.txtin an escaped form. The move read that escaped text as the file name, could not find the file, and skipped it. It now asks Git for the real names (git-transfer.ts,capture), the same wayservices/git/context.tsalready does.git-transfer.test.ts: non-ASCII names, a full move into a real worktree, and a name ending in a space. All three fail without the fix.Not changed here:
Screenshots / Video
Before
worktree-skips-unicode-files-before.mp4
After
worktree-skips-unicode-files-after.mp4
How to Test
Manual/local verification
git statusin the new worktree lists onlyplain.txt. After, it lists both files, and both files and their contents were checked on disk.packages/kilo-vscode/:bun run typecheck, eslint and prettier on the changed files, andbun test tests/unit/git-transfer.test.ts tests/unit/continue-in-worktree.test.ts tests/unit/agent-manager-arch.test.ts(118 pass). The pre-push monorepo typecheck also passed.Reviewer test steps
Create a disposable Git folder:
Open it in an isolated VS Code window. From the Kilo repository root, run
bun run extension:isolated -- <path to unicode-repro>.Open the Kilo Code sidebar, click History, and open a previous chat in this folder. If there is none, start one and send
Reply with OK.Open Terminal → New Terminal and run:
Both files are untracked. Git prints
résumé.txtas"r\303\251sum\303\251.txt".In the Kilo chat, click Move to Worktree above the prompt. Wait for the conversation to open in Agent Manager.
In Agent Manager, click Open Terminal (the terminal icon at the top right).
Run
git status. Bothplain.txtand"r\303\251sum\303\251.txt"are listed. Onmain, onlyplain.txtis listed.Blocked checks and substitute verification
Checklist