{"id":256713,"date":"2026-07-28T09:00:14","date_gmt":"2026-07-28T16:00:14","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=256713"},"modified":"2026-07-27T07:29:17","modified_gmt":"2026-07-27T14:29:17","slug":"visual-studio-july-update-meet-the-new-agent-powered-by-copilot-sdk","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-july-update-meet-the-new-agent-powered-by-copilot-sdk\/","title":{"rendered":"Visual Studio July Update \u2014 Meet the New Agent, Powered by the GitHub Copilot SDK"},"content":{"rendered":"<p>The best AI assistance is the kind you can steer, understand, and rely on. The July update is built around all three. There&#8217;s a new <strong>Agent (Preview)<\/strong> in Copilot Chat, built on the same <a href=\"https:\/\/github.com\/github\/copilot-sdk\">GitHub Copilot SDK<\/a> that powers the GitHub Copilot CLI, that gets more done with less back-and-forth. New <strong>built-in .NET and Azure skills<\/strong> let you tailor your agentic workflow with expert guidance, organization owners can now shape Copilot&#8217;s responses across their whole team, and a couple of fundamentals round things out.<\/p>\n<p>You can attach a branch to Copilot Chat for quick context, and C++ builds can now opt in to finding a pinned toolset version even when it lives in a different installation. Install the Visual Studio 2026 Stable Channel update when you&#8217;re ready, then take a look at what&#8217;s new below.<\/p>\n<h3>Try the new Agent (Preview)<\/h3>\n<p>Copilot Chat has a new <strong>Agent (Preview)<\/strong> option in the agent picker, built on the same <a href=\"https:\/\/github.com\/github\/copilot-sdk\">GitHub Copilot SDK<\/a> that powers the GitHub Copilot CLI. The idea is simple: get more tasks right the first time, with less back-and-forth to keep the agent on track. It also addresses feedback we&#8217;ve heard from Copilot users asking for a more consistent experience across Copilot surfaces, so work can move more naturally between them. You can start in the CLI, GitHub app, VS Code, or Visual Studio, then transition that work into Visual Studio when you&#8217;re ready to review, refine, or continue the change. Responses are shorter and easier to scan, so you spend less time reading and more time reviewing the actual change.<\/p>\n<p>To try it, open <strong>GitHub Copilot Chat<\/strong>, click the <strong>agent picker<\/strong> at the bottom of the window, and select <strong>Agent (Preview)<\/strong>. Then point it at the work you already do: feature changes, bug fixes, refactors, and the rest of your day-to-day tasks.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_new-agent.webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-256897\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_new-agent.webp\" alt=\"The GitHub Copilot Chat agent picker open with Agent (Preview) highlighted, listed above Ask, Plan, Debugger, Git, Modernize, Profiler, and Test.\" width=\"1024\" height=\"780\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_new-agent.webp 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_new-agent-300x229.webp 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_new-agent-768x585.webp 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>This one is still in preview, and your feedback shapes where it goes next. Send it through <strong>Help &gt; Send Feedback &gt; Report a Problem<\/strong>.<\/p>\n<h3>Built-in .NET and Azure skills<\/h3>\n<p>Visual Studio now ships with built-in skills authored by experts on the .NET and Azure teams, so you can customize your agentic workflow with guidance from the people who know these stacks best. The skills appear in the <strong>Built-in<\/strong> category of the tool picker whenever the matching .NET or Azure workload is installed.<\/p>\n<p>Hover any skill to see its description and path, or use the three-dot menu to open the full skill or its folder location. They&#8217;re off by default, so you review and enable only the ones that fit the task in front of you.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_built-in-skills.webp\"><img decoding=\"async\" class=\"alignnone wp-image-256895 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_built-in-skills.webp\" alt=\"The Skills tab of the Copilot tool picker listing built-in skills such as azure-upgrade, azure-validate, csharp-scripts, and dotnet-pinvoke, with a hover tooltip showing the dotnet-trace-collect description and its Built-in file path.\" width=\"896\" height=\"748\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_built-in-skills.webp 896w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_built-in-skills-300x250.webp 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_built-in-skills-768x641.webp 768w\" sizes=\"(max-width: 896px) 100vw, 896px\" \/><\/a><\/p>\n<p>Want to dig into what&#8217;s available? Browse the <a href=\"https:\/\/github.com\/dotnet\/skills\">.NET skills<\/a> and <a href=\"https:\/\/github.com\/microsoft\/azure-skills\">Azure skills<\/a> on GitHub.<\/p>\n<h3>Organization-level custom instructions<\/h3>\n<p>Teams often share the same ground rules for how they want Copilot to respond. GitHub organization owners can now add <a href=\"https:\/\/docs.github.com\/en\/enterprise-cloud@latest\/copilot\/how-tos\/copilot-on-github\/customize-copilot\/add-custom-instructions\/add-organization-instructions#adding-organization-custom-instructions\">organization custom instructions<\/a> that tailor those responses across everyone in the organization, so common preferences don&#8217;t have to be set up one developer at a time. This works when the repository belongs to a GitHub organization, and it&#8217;s meant for setting preferences, not enforcing policy.<\/p>\n<p>When you work in a repository that belongs to your organization, these instructions apply automatically. You&#8217;ll see them in the reference list during your Copilot interactions, and you can click through to read the full set.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_org-level-instructions.webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-256898\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_org-level-instructions.webp\" alt=\"A Copilot Chat response with the references list expanded, showing default.instructions.md (highlighted, sourced from the Visual Studio Copilot organization folder) alongside a README.md reference.\" width=\"490\" height=\"312\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_org-level-instructions.webp 490w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_org-level-instructions-300x191.webp 300w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/a><\/p>\n<p>If you&#8217;d rather not use them, or want to avoid conflicts with your own user-level instructions, you can turn them off under <strong>Tools &gt; Options &gt; GitHub &gt; Copilot &gt; Copilot Chat<\/strong> by unchecking <strong>Enable organization-level custom instructions<\/strong>.<\/p>\n<h3>Attach branches to Copilot Chat<\/h3>\n<p>Ever wanted to ask Copilot about a branch before you check it out? Branches now join commits, changes, and pull requests as context you can attach to Copilot Chat. Right-click any branch in the <strong>Git Repository<\/strong> window and select <strong>Add to Chat<\/strong> to bring it into your conversation.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_add-branch-to-chat.webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-256894\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_add-branch-to-chat.webp\" alt=\"The Git Repository window with a right-click context menu on the add-input-validation branch, showing the Add to Chat option alongside Checkout, Open in Browser, and New Local Branch From.\" width=\"703\" height=\"396\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_add-branch-to-chat.webp 703w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/07\/vs18.8_add-branch-to-chat-300x169.webp 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/a><\/p>\n<p>From there, ask something like <em>tell me about this branch<\/em> to get a quick summary before you dive into the code.<\/p>\n<h3>MSVC Build Tools auto-discovery across installations<\/h3>\n<p>If your team pins a specific C++ toolset, you want that exact version used, wherever it happens to be installed. You can now opt in to automatic discovery of the <a href=\"https:\/\/learn.microsoft.com\/cpp\/overview\/compiler-versions\">Microsoft C++ (MSVC) Build Tools<\/a> across all your Visual Studio IDE and Visual Studio Build Tools installations, so a pinned <code>VCToolsVersion<\/code> resolves correctly even when it lives in a different install.<\/p>\n<p>Previously, Visual Studio only searched other installations when your current install had no toolset at all for your target platform toolset. If your project targeted <code>v143<\/code> and the current install already had any <code>v143<\/code> toolset, the search stopped there, even when you&#8217;d pinned a specific <code>VCToolsVersion<\/code> that only existed elsewhere. Now the search keeps going to find the exact version you asked for.<\/p>\n<p>To enable it, set <code>EnableVCToolsVersionDiscovery<\/code> to <code>true<\/code> in your project or <code>Directory.Build.props<\/code>:<\/p>\n<pre><code>&lt;PropertyGroup&gt;\r\n  &lt;EnableVCToolsVersionDiscovery&gt;true&lt;\/EnableVCToolsVersionDiscovery&gt;\r\n  &lt;VCToolsVersion&gt;14.43.34604&lt;\/VCToolsVersion&gt;\r\n&lt;\/PropertyGroup&gt;<\/code><\/pre>\n<p>The payoff: version pins are honored regardless of which installation contains them, builds stay reproducible across your team without individual IDE updates changing compiler behavior, and cross-install toolset references resolve automatically instead of requiring manual <code>VCToolsInstallDir<\/code> overrides.<\/p>\n<hr \/>\n<p>From our entire team, thank you for choosing Visual Studio! For the latest updates, resources, and news, check out the <a href=\"https:\/\/aka.ms\/vshub\">Visual Studio Hub<\/a> and stay in touch.<\/p>\n<p><strong>Happy coding!<\/strong>\n<em>The Visual Studio team<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s a new Agent (Preview) in Copilot Chat, built on the same GitHub Copilot SDK that powers the GitHub Copilot CLI, that gets more done with less back-and-forth.<\/p>\n","protected":false},"author":1017,"featured_media":256896,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[510,6883,6924],"class_list":["post-256713","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio","tag-cpp","tag-copilot","tag-github-copilot"],"acf":[],"blog_post_summary":"<p>There&#8217;s a new Agent (Preview) in Copilot Chat, built on the same GitHub Copilot SDK that powers the GitHub Copilot CLI, that gets more done with less back-and-forth.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/1017"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=256713"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256713\/revisions"}],"predecessor-version":[{"id":256899,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256713\/revisions\/256899"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/256896"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=256713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=256713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=256713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}