The session is no longer one checkout.
VS Code 1.140, released September 30, introduces experimental multi-folder sessions. Each chat can use a different folder or worktree. Its terminal, tasks, changes, pull request, and Agent merge state follow that folder. Chats that use the same folder share that state.[1]
This changes the planning question. A session can group related work without forcing every chat into one checkout. The grouping is editorial. The folder or worktree is operational.
A shared plan does not require a shared working tree.
Conversation boundaries and file boundaries differ.
VS Code's session guide defines a session as the workspace, code changes, and one or more chats for a task. Each chat has its own history and context. In the established multi-chat flow, peer chats share the session workspace and worktree, so their changes appear together.[2]
The new experimental mode adds a second choice. Keep a shared folder for coordinated reading or edits that must land together. Request a separate worktree when two chats may edit independently. Use a different repository folder for cross-repository work. Start an independent session with no workspace when the task does not need source files.
A worktree isolates files, not the whole repository.
Git worktrees give one repository several working trees. Each linked worktree has its own HEAD and index. Most refs and the repository configuration remain shared by default.[3]
That is enough to keep two patches off the same checkout. It is not a sandbox. Hooks, refs, object storage, credentials, services, generated caches, and external resources may still overlap. Name those shared parts when the task can affect them.
The release makes routing promptable.
The release notes tell operators to make two decisions. First decide whether the work belongs to the current session. Then name a workspace only if the work needs repository files. Request a worktree only if the edits need isolation.[1]
Multi-folder sessions are experimental and disabled by default. The settings live in user settings.json. There is no picker for adding a folder to a peer chat in this release. The main chat creates the peer and receives the repository or worktree instruction.
Use four routing questions.
- Is this work part of the same deliverable?
- Does it need repository files?
- Can it safely share a checkout with the other chats?
- Who reviews and lands the combined result?