Behind the Scenes of VS Code’s Planning Agent

In the VS Code Insiders podcast episode, Bavia from the VS Code team discusses the new Planning Agent feature, which aids developers in managing complex, high-level tasks by creating detailed, interactive plans and complementing existing tools like the to-do list. The Planning Agent supports customization, seamless handoffs between agents, and emphasizes context engineering to enhance collaboration and efficiency in large projects.

In this episode of the VS Code Insiders podcast, the host welcomes Bavia, a software engineer on the VS Code team, to discuss the newly launched Planning Agent feature highlighted at GitHub Universe. Bavia shares his background working on various VS Code features, including the chat participant, the hash new tool for scaffolding projects, and the to-do tool, which is currently receiving updates. The conversation sets the stage for a deep dive into how the Planning Agent works and how it complements existing tools like the to-do feature.

Bavia explains that the to-do tool helps users manage multi-step tasks by breaking them down into actionable items that the agent can track and mark off as completed. This feature provides users with real-time visibility into the agent’s progress, allowing them to review, adjust, or pause tasks as needed. The to-do list acts as a focused, session-based guide for immediate steps, helping maintain context and continuity, especially for longer or interrupted tasks.

The Planning Agent, by contrast, is designed for more complex, high-level tasks that require extensive research and understanding of the codebase. It helps developers explore broad objectives, gather context, and create detailed executable plans. Unlike the to-do tool, the Planning Agent actively asks clarifying questions to resolve open-ended issues, ensuring the plan is comprehensive before implementation. This interactive planning process helps uncover gaps and refine the approach, making it ideal for large features or projects that involve multiple components and dependencies.

Customization is a key aspect of the Planning Agent. Developers can create custom agents with specific roles, tools, and instructions tailored to their workflows. The system supports defining handoffs, which allow seamless transitions between different agents, such as moving from planning to implementation or testing. These handoffs enhance collaboration and automation within teams, enabling agents to work synchronously or asynchronously on different parts of a project. The Planning Agent’s prompts and tools are open and accessible, allowing users to tweak and optimize them according to their needs.

Finally, Bavia emphasizes the importance of context engineering—providing the right amount of information and references, such as files, commits, or best practices, to guide the agent effectively. Saving detailed plans as markdown files is encouraged for complex projects, as it facilitates sharing, reviewing, and reusing plans across teams. The host shares personal enthusiasm for the Planning Agent, noting improved results and efficiency when using it daily. The episode concludes with an invitation to explore the feature in VS Code Insiders and links to related resources and demos.