Planning and implementing are not the same kind of work. Planning needs a strong reasoning model that explores the codebase and weighs options. Implementing a clear, approved plan is mostly mechanical, and a cheaper, faster model can handle that. Picking one model for everything is not a good idea. You either overpay for the build, or you underpay for the plan. A colleague recently pointed out that JetBrains AI can split this, and it turns out Copilot can do something similar. Let’s look at both. Plan and build in VS Code The Plan agent in VS Code has its own model setting. Two settings matter: { "chat.planAgent.defaultModel": "<planning model>", "github.copilot.chat.implementAgent.model": "<implementation model>" } chat.planAgent.defaultModel is the model used by the Plan agent. github.copilot.chat.implementAgent.model is the model used when you click Start Implementation . Prefer to do it by hand in a Copil...
If you let multiple agents work in parallel on your code base, you need a way to start an agent session with code isolation. The typical way to do this is by creating separate Git worktrees for each agent. This avoids that parallel agents overwrite each other’s files. But the sessions pile up, and so do the worktrees. Each one is a full checkout on your disk. Until recently I did the cleanup work myself, but now VSCode has a worktree cleanup feature to deal with this. Why do we need this? Before this feature, you had two options: do it by hand or ignore it. By hand meant something like this: git worktree list git worktree remove <path> git worktree prune That works. But it doesn’t tell you which worktree belongs to which agent session, whether the session is still relevant, or how much space you’ll get back. Archive, done or delete? Cleanup builds on how VS Code already finishes sessions. There are three actions: Close a chat tab: hides the conversation, not...