Visual Studio Code 1.125


Follow us on LinkedIn, X, Bluesky


Last updated: June 9, 2026

Welcome to the 1.125 release of Visual Studio Code.

Happy Coding!



June 9, 2026

  • Add the /chronicle command set to the Agent Host, providing session history insights — standup, search, tips, cost-tips, improve, and reindex — directly from chat. #320648

  • Improve the display of file paths in the Agent Host for better readability. #316541

June 8, 2026

  • Enhance the Cache Explorer view to make multi-agent sessions easier to understand and navigate, and to surface more detailed prompt-signature allocation information. #320137

  • Add support for qualified tool names in tool sets. #271589


We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what’s new.

Visual Studio Code 1.124


Follow us on LinkedIn, X, Bluesky


Last updated: June 4, 2026

Welcome to the 1.124 release of Visual Studio Code.

Happy Coding!



June 4, 2026

  • Scope chat input history to the current session in the Agents window. Pressing Up/Down in the chat input only navigates prompts submitted in that same session, instead of including prompts from other sessions. #319341

June 2, 2026

  • Multi-chat support for local sessions in the Agents window. #319602

  • Background send in the Agents window. Press Alt+Enter or Alt-click Send to start a session without navigating into it, so you can immediately compose your next message. #319598

  • Sessions grid keyboard navigation and bulk close. Use Ctrl+1Ctrl+9 (Cmd+1Cmd+9) to focus sessions by position, and Ctrl+K Ctrl+W (Cmd+K Cmd+W) to close all sessions at once. #319596


June 1, 2026

  • Regex flags for folding markers. Folding marker patterns in language-configuration.json now support a { pattern, flags } object form, enabling flags like case-insensitive matching. #72989

We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what’s new.

What’s Coming Next in Visual Studio: Our Microsoft Build 2026 Announcements


Microsoft Build kicks off today in San Francisco, June 2 and 3. If you cannot make it in person, the sessions are streaming online for free, and I want to walk you through what we are announcing for Visual Studio this week.

One idea tie most of it together. Code is an asset, not just an artifact. The tools around it should help you keep it healthy, correct, and easy to evolve as your codebase grows. Every announcement below is a step toward that.

Agents that participate in the work, not next to it

GitHub Copilot in Visual Studio is moving beyond chat and completions. The direction is agents that can participate more actively in the development lifecycle, helping with debugging, profiling, and testing alongside you.

This is not about replacing the tools you already rely on. It is about connecting them more effectively. The debugger, profiler, and test tools already provide deep insight. Agents help turn that insight into action:

  • Identify issues faster
  • Explain what is going on
  • Suggest concrete fixes
  • Help validate the results

This matters most if you work in large C# or C++ codebases where the hard problems are not “write this function” but “figure out why this thing is slow under load.” That is the work Visual Studio has always been built for. Agents extend it.

Catching errors before the build starts

This one is small and I think you will notice it daily.

Today, a build can still run even when there are obvious errors already sitting in the Error List. The build runs, you wait, the build fails on something you could have seen up front.

We are changing that flow so Visual Studio checks errors and warnings before the build starts. Simple change. Real time saved. The kind of thing that adds up across a week.

Merge conflicts with less manual work

Merge conflicts are something every developer runs into, and they are rarely a good use of anyone’s time.

We are working on AI-assisted conflict resolution to reduce the manual effort these situations require. The goal is not to auto-merge everything. The goal is to help you understand the conflict, make a sensible decision, and get back to the work you were actually doing.

Modernization that moves your apps forward

This summer, we are bringing new capabilities to GitHub Copilot modernization, the integrated agent experience built into Visual Studio that helps you upgrade your applications to the latest .NET stack.

You can migrate Web Forms applications to Blazor for a modern, component-based web stack. You can add Aspire to existing apps for cloud-ready observability and orchestration. The modernization agent assesses your project, builds a plan, and executes upgrades step by step, helping you improve performance and security without starting from scratch.

If you have been carrying a Web Forms app for years because the rewrite math never penciled out, this is worth a fresh look.

Skills that show up when you need them

One of the harder problems with AI tooling is that the right capability often exists, but it shows up at the wrong moment, or you have to know to ask for it.

We are introducing Microsoft-authored skills that apply automatically based on your project type and the task at hand. Less prompting. Less guesswork. A more helpful experience overall. The right capabilities show up when you need them, without requiring you to already know they exist.

Bring your own key, bring your own model

This is the one I have been waiting to talk about.

Historically, AI integration in Visual Studio has been limited to a small set of sanctioned endpoints. That works for a lot of developers, but it has left real customers behind, including teams whose environments call for different choices.

We are moving toward a BYOK approach, bring your own key or model, so you can use different AI models whether they run locally or in the cloud. That gives you more flexibility around performance, cost, and compliance based on the needs of your environment.

If you have been waiting for Visual Studio to meet your environment instead of asking your environment to bend, this is the announcement to watch.

Built on the GitHub Copilot SDK

Underneath all of this is a more unified foundation. Visual Studio is moving to the GitHub Copilot SDK as the foundation for its AI integration going forward.

This one sits below the surface. You will not see it in a menu. What it means in practice is that we can move faster, stay aligned with the broader ecosystem, and bring new capabilities into Visual Studio sooner. Worth knowing about, even though you will mostly feel it through everything else getting better.

Where this is heading

If there is one way to sum up this roadmap, it is this. We are focused on a set of meaningful improvements that remove friction from the inner loop and make day-to-day development feel better.

Code that compiles by default. Faster feedback before you build. Smarter handling of real-world pain points like merge conflicts. AI that works with your tools, not next to them. Flexibility in how you bring AI into your environment.

All of it is designed to fit how you already use Visual Studio, not force you into a different workflow.

Watch it live at Build this week

If you want to see this work in action, here are the sessions I would put on your schedule. All times in Pacific.

Microsoft Build opening keynote (KEY01) Tuesday, June 2, 9:30 AM to 12:00 PM PT Satya Nadella and Microsoft leaders open the week with how Microsoft is creating new opportunities for developers across our platforms in this era of AI. This is the one that sets the frame for everything else.

GitHub, Copilot, VS Code, and More: Live from San Francisco (LIVE104) Wednesday, June 3, 9:00 AM to 11:00 AM PT The closest thing Build has to a hallway conversation with the engineers shipping the work. Live demos, surprise guests, live coding, straight from the teams. Watch this one live if you can.

GitHub Copilot in Visual Studio: Agents That Debug, Profile, and Test (BRK207) Wednesday, June 3, 4:00 PM to 4:45 PM PT This is the demo-heavy session on the agents work above, with Mads Kristensen and Nik Karpinsky from the Visual Studio team. You will see agents root-cause bugs using live runtime behavior, pinpoint performance bottlenecks, and build test coverage to catch regressions before they ship. If you work in enterprise C#, .NET, or C++, this is the one.

Make GitHub Copilot Work Your Way: Custom Tools, Context and Workflows (LAB502D) Self-paced lab, opens Tuesday, June 2, at 12:00 PM PT Build custom Copilot agents from scratch, create reusable Agent Skills, and connect to external services via MCP. Works across VS Code, Visual Studio, CLI, and Copilot coding agent. Complete it on your own schedule.

The full Build schedule, including everything streaming online for free, is at build.microsoft.com.

If something we announced today changes how you think about your day-to-day in Visual Studio, I want to hear about it.

Visual Studio Code 1.123


Follow us on LinkedIn, X, Bluesky


Last updated: May 29, 2026

Welcome to the 1.123 release of Visual Studio Code.

Happy Coding!



May 29, 2026

  • You can now hand off a chat session from VS Code to the Agents window, so you can continue your conversation in the standalone agents experience. #316565

  • In the integrated browser, you can now add an area screenshot as context to chat by selecting a region of the page. #318791

  • Prompt file subcommands can now be invoked with a space instead of a colon, for example /chronicle tips instead of /chronicle:tips. #318867

May 28, 2026

  • Chat now lets you send a request with only attachments and no text. For example, you can attach an image or file and send it directly without adding a message. #317776

  • Agent mode chat indicators in the title bar are now hidden when Zen mode is active. #318848

  • Copilot Cloud tasks now renders with the same tool cards, edit diffs, and terminal output as local Copilot CLI sessions. #318646

  • Fixed /doc placing Python docstrings before decorators instead of inside the function body. #318571

  • Fixed BYOK reasoning models from OpenRouter, DeepSeek, and similar providers failing with HTTP 400 errors after tool calls. #318809

  • Fixed the --folder-uri and --file-uri CLI flags failing silently on Windows when not used as the last argument or when combined with --wait. #308150

May 27, 2026

  • Updated to Electron 42, which includes Chromium 148 and Node.js 22.x. #292445

  • The AI Customization management editor now uses a compact header mode for a cleaner, more integrated look. #318378

  • Browser-related settings now appear in their own section in the Settings editor. #318602

May 26, 2026

  • The Agents window now displays sessions in a grid layout. #317309

  • Agent feedback in the Agents window now supports threaded replies, so you can respond to individual comments. #318324

  • Steering messages sent during an agent host session now appear as their own user turn in the chat, instead of being folded into the in-flight turn. #318456

  • When agent mode runs multiple terminal commands in parallel, completion notifications are now batched into a single message instead of creating a separate agent turn for each command. #316275


We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what’s new.

Plan Before You Build: Introducing the Plan agent in Visual Studio


You ask Copilot to tackle something big, it gets to work, and a dozen file changes later you realize you had a completely different approach in mind. The code isn’t wrong… it just isn’t what you were going for.

Last year, we introduced planning as a feature in Agent mode to help with exactly this. Since then, you’ve told us you wanted more control over when planning happens, the ability to edit plans directly, and a way to save and share them. Your feedback shaped what came next: the new Plan agent.

Instead of jumping straight into implementation, the Plan agent starts with a deeper understanding of what you’re trying to build: asking questions, clarifying your intent, and enabling you to iterate on the plan before making a single change.


How it works

Here’s how it works:

  • Select the Plan agent and describe what you want to build — Choose Plan from the agent picker in Copilot Chat, then tell Copilot what you’re trying to do. You can be as broad as “add authentication to this app” or as specific as “refactor the payment module to support multiple providers.” The more context you give, the better the plan.

plan selected in agent picker image

  • Explore and clarify — Copilot scans your codebase using read-only tools and asks clarifying questions when something is ambiguous. Answer these to help Copilot understand what you’re going for. For straightforward tasks, it moves straight to drafting.

plant agent clarifying questions image

  • Draft and refine — Copilot creates a detailed implementation plan you can review together. Ask it to rethink an approach, add edge cases, split a step into smaller pieces, or reconsider which files to touch.
  • Edit the plan directly — Every plan is saved as a markdown file at .copilot/plans/plan-{title}.md. Edit it in your editor, refine it through chat, or share it with your team for review. Copilot picks up your changes and keeps everything in sync.
  • Implement — When you’re satisfied, click Implement plan to hand it off to Agent mode to build. No code changes happen until you say so. Copilot works through the plan step by step, creating and editing files while you watch the progress in real time.

plan agent implement plan button image

plan implemented image

Try it today

The Plan agent helps you figure out what to build before you start building it. Give it a try on your next feature or refactoring task, and let us know how it goes!

Share your feedback on Developer Community and let us know what’s working, what’s not, and what you’d like to see next!

Visual Studio Code 1.122


Follow us on LinkedIn, X, Bluesky


Last updated: May 21, 2026

Welcome to the 1.122 release of Visual Studio Code.

Happy Coding!



May 19, 2026

  • Agents can now trigger tasks on remote machines. #312052

  • Source control state in the Agents window now refreshes automatically after the agent commits, syncs, or performs other git operations. #317317

  • Use /models in the chat input to open the model picker. #317060

  • Mermaid C4 diagrams with inline data-URI images now render correctly in chat and Markdown preview. #317235

  • Screen readers now announce the problem message when opening the error peek widget with F8. #316835

May 20, 2026

  • New “Search only in changed files” toggle in the search panel restricts results to files with uncommitted source control changes. #314790

  • Language Models editor shows granular actions for provider groups, such as Update API Key, Add Model, Go to config file, Rename, and Delete. #317419

  • Terminal commands running in chat show dot/ASCII loading animations. #317416

  • New issue reporter wizard lets you create high-quality issues directly from VS Code, including screenshots and video recordings. Enable it with issueReporter.wizard.enabled. #317577

  • Mermaid diagrams use a theme derived from the current VS Code color theme, and diagrams opened in a new editor show the full content. #317617, #317244

  • GitHub Enterprise sign-in onboarding uses an inline form with real-time validation instead of a modal dialog. #317205

  • Commands using sudo -S to pipe passwords via stdin are no longer auto-cancelled in auto-approve mode. #317594

  • Fixed editor labels for remote agent changed files that were showing internal URIs instead of user-facing paths. #316812

May 21, 2026

  • Bring Your Own Key (BYOK) models now work in air-gapped scenarios without GitHub authentication. #317428

  • Local agent host is now enabled by default in Insiders builds. #317667

  • “Sort imports” and “Remove unused imports” actions no longer appear when tsgo is active, since tsgo handles these operations differently. #317656

  • The reasoning effort picker now shows a valid level instead of ‘undefined’ for model families that don’t specify an explicit default. #317622


We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what’s new.

The Coding Harness Behind GitHub Copilot in VS Code


May 15, 2026 by Julia Kasper, Megan Rogge and Aaron Munger

With each new model release, the same conversation is reignited. Which model is the smartest? Which one is fastest? Which one should we use? Those are useful questions, but for a product like Visual Studio Code the model is only one part of the agentic coding experience. What developers actually interact with is the coding harness: the layer that assembles context, exposes tools, runs the agent loop, interprets tool calls, and turns a model’s output into something useful inside the editor. In this post, we’ll look at what that harness does, why it matters, and how we evaluate it as models and developer workflows evolve.

Diagram showing that an agent is made up of a model plus a harness. The harness includes the agent loop, tools, context management, and system prompt.

What is the coding harness?

Language models do not edit files, execute commands, or run tests by themselves. They can only produce text. The coding harness is the system that acts as a bridge between the code editor and the language model. It turns that text into action and feeds the results back so the model can decide what to do next.

In VS Code, the coding harness has three main responsibilities:

  1. Context assembly: Before any request reaches the model, the harness builds a prompt. That prompt includes a system message with behavioral instructions, the user’s query, workspace structure (languages, frameworks, open editors), conversation history from prior turns, tool results, custom instructions, and memory from earlier sessions. The harness decides what the model sees, and those decisions directly affect quality.

  2. Tool exposure: The harness declares the tools the model is allowed to call: reading files (read_file), editing code (replace_string_in_file or apply_patch), running terminal commands (run_in_terminal), searching the codebase (semantic_search), and many more. Each tool has a JSON schema the model must follow and a description the model uses to decide when to invoke it. The set of available tools can change per request. Some tools are only enabled for certain models, some require user confirmation before execution, users can toggle tools on and off in the tool picker, MCP servers and extensions can contribute entirely new tools that slot into the same loop, and custom agents (.agent.md) can restrict their tool set to a specific subset.

  3. Tool execution: When the model requests a tool to be run (using JSON like {"name": "run_in_terminal", "arguments": {"command": "npm test"}}), the harness is the one that validates the arguments, runs the tool, handles errors, formats the result, and feeds it back in the next iteration. For example, if the model asks to edit a file, the harness writes the diff. If the model asks to run a shell command, the harness is what spawns the process, captures output, and relays it.

None of these tasks can be directly achieved by the language model. However, this input determines the behavior and outcome of the model and what you experience in the code editor.

The logic that orchestrates these tasks, deciding when to continue or stop iterating and how to keep the conversation coherent across many rounds, is the agent loop.

The agent loop

At its core, when you use an agent in VS Code, a tool-calling loop happens: a “think → act → observe → think again” cycle. On each iteration, the agent harness builds the prompt (system instructions + context + history + all tool results so far), sends it to the model, and checks the response. If the response includes tool calls, the harness executes those tools, captures their results, and loops back. If there are no tool calls, the loop can finish and the assistant’s text becomes the final response.

Simplified diagram of the VS Code agent loop: the user sends a chat message, the tool-calling loop builds a prompt, sends it to the model, executes requested tools, records results, checks loop-control conditions, and either continues or finalizes the chat result.

A turn is the user-visible chat exchange: you send one message, and the agent eventually produces a response. During that turn, the agent loop may perform many rounds. A round is one pass through the loop: build the prompt, call the model, receive text and/or tool calls, execute any tools, record the results, and decide whether to continue. The full execution of all those rounds is the loop’s run. A single user turn might trigger many rounds as the model searches files, reads code, edits files, runs tests, reads the output, and iterates on failures.

The tool-calling loop is bounded by loop-control checks. We enforce a tool-call limit, check for cancellation between rounds, and run stop hooks. Stop hooks are extension points that can inspect the agent state and either allow it to finish or push it to keep working. Within the loop, the prompt is rebuilt on every iteration. That means the model always sees the latest state of the workspace: if it edited a file three rounds ago, the current prompt reflects that edit. The harness also manages conversation summarization. When the accumulated history grows too large, it compresses earlier rounds into a summary so the model can keep working without hitting the context window ceiling.

Note:
Want to see the harness in action? You can explore the VS Code source code, use the Tools UI in Chat to review the tools available for a request, and open the Chat Debug View to inspect the prompts, tool calls, and results.

The harness is the product

When a new model ships, it needs to fit into an existing harness. The system prompt, the tool definitions, the loop logic, the context assembly, all of it was built and tuned over many months of real-world use. The model gets better at filling in the blanks, but the harness defines what the blanks are.

This matters even more because GitHub Copilot lets you use models from multiple model providers. And GitHub Copilot in VS Code supports a growing model ecosystem. Developers can switch between models, use auto-selection, bring their own keys, or install extra providers via extensions. This means that VS Code has to deal with a broad and continuously evolving ecosystem, not a single stable API.

The harness is what enables VS Code to handle this model flexibility without forcing developers to relearn the product every time. You should be able to switch models or try a new provider while keeping the core experience familiar: chat, sessions, tools, terminal output, debugging, and source control.

But integrating a new model is rarely just adding an extra option to the model picker. Providers differ in how they expose tool calling, structured outputs, reasoning controls, prompt caching, context limits, and error behavior. Some models are better at long planning. Some are better at terse edits. Each model has different strengths, and we work closely with model providers before each release to adapt the system prompt, tool descriptions, and loop behavior accordingly. Providers often grant us early access to new model checkpoints, which are pre-release snapshots of upcoming models, so we can start tuning the harness before the model is generally available.

Flow diagram showing VS Code and model providers iterating from an upcoming model release through Copilot API onboarding, harness optimization, evaluation, provider feedback, and launch.

Different models need different harness behavior. Claude models use replace_string_in_file for edits; GPT models use apply_patch. Gemini needs reminders to use tool-calling instead of narrating it, and breaks on orphaned tool calls in history. Some models support extended thinking and need reasoning-effort controls. Some work best with a concise system prompt; others need verbose, structured instructions to stay on track. The harness selects different system prompts per model – Claude Sonnet 4 gets a different prompt than Claude 4.5, which gets a different one than Opus.

All these per-model differences aren’t trivial. They translate into per-model system prompts, per-model tool sets, and per-model conversation management. This means that when a new model ships, we can’t just flip a switch but we need to validate its behavior. We validate tool schemas, retune defaults, and re-run full agent sessions before anything ships. Beyond the model functioning correctly, the harder question is how can we verify that a new model actually gives better results.

Evaluation keeps the harness honest

Just like you need to test a new feature before you ship it, models also need to be tested. That’s where model evaluation comes in. Before a model ships in VS Code, we evaluate it from multiple angles. We run offline benchmarks, test it internally, and compare it against the models already available in the product. After the model is live, we keep measuring: A/B tests, aggregate usage signals, and weekly reporting help us understand how the model behaves in real developer workflows.

Diagram showing an overview of the VS Code evaluation pipeline.

There are multiple public model benchmarks, which are useful as a shared reference point. We use these benchmarks to compare against the broader model ecosystem and to catch obvious regressions. But at frontier levels, they are no longer sufficient as a quality indicator. OpenAI stopped reporting SWE-bench Verified results after finding that frontier models could sometimes reproduce gold patches from memory, making contamination harder to ignore.

Coverage is another limitation. SWE-bench is valuable, but it is still centered on public bug-fixing tasks. Terminal-Bench is useful for measuring command-line competence, but many tasks look more like isolated terminal puzzles than the kinds of workflows developers actually bring to an editor. Real-world coding agents need to do more than patch a known bug or solve a shell challenge. They need to scaffold projects, migrate codebases, refactor across files, follow instructions, and handle terminals and browsers.

We still run these benchmarks, but they are only a starting point. To decide which models are ready to ship in VS Code, we need something closer to the product we are actually building.

Building VSC-Bench

That’s why we built VSC-Bench, our offline evaluation suite for VS Code agent behavior. VSC-Bench focuses on VS Code-specific developer tasks that public benchmarks do not cover well: custom agent modes, extension workflows, MCP and tool use, terminal and browser interaction, multi-turn conversations, and multi-language coding tasks across TypeScript, Python, C++, and others.

We use VSC-Bench to measure model behavior across solution correctness, agent effort, token efficiency, and latency. The chart below focuses on resolution rate and token usage, but before a model becomes part of the VS Code experience, we evaluate the full set of dimensions. That trade-off matters before a model or reasoning setting becomes a default in the editor.

Scatter chart comparing VSC-Bench model resolution rate against median total tokens for different models and reasoning settings.
This chart summarizes 40 VSC-Bench runs across eight model-effort configurations. Each point represents one model-effort configuration, with higher points resolving more tasks and points farther to the right using more tokens. For these set of VSC-benchmark tasks, xhigh uses more tokens than high but resolves slightly fewer, which may indicate that it is past the useful effort sweet spot where extra thinking no longer converts into better outcomes.

Each VSC-Bench task runs in a reproducible, containerized workspace. The harness launches VS Code, opens the workspace, sends one or more user prompts to the agent, lets the agent respond with text and tool calls, and then evaluates what happened. That gives us a more realistic view of the full agent loop: not just whether the final code looks right, but whether the agent used the editor, terminal, language services, browser, and tools in ways that match the VS Code experience.

Together with public benchmarks, VSC-Bench gives us a more balanced signal: public evals tell us how a model compares to the field, while product-specific evals tell us whether it is ready for the experience developers expect inside VS Code.

How we benchmark agent changes before they merge

Benchmarks aren’t just for shipping models. They’re also how we vet harness changes before they land. If a PR touches a core tool, a system prompt, or anything else that could move agent behavior, we want benchmark numbers before it merges.

For those PRs, the VS Code team uses an automated eval assessment flow. Adding the ~requires-eval-assessment label to a PR kicks off the process: the PR is built, shipped as an eval agent, benchmarked, and the results are posted back on the PR:

  1. Build the PR. A webhook routes the label event into a workflow in vscode-engineering, which kicks off an Azure DevOps build against the PR’s merge ref. One automatic retry on failure; the PR gets a “queued 1 of 2” comment so reviewers can follow along.

  2. Publish an eval agent. On a successful build, a publish pipeline ships a versioned agent (0.0.0-dev.<sha>) to the vscode-evals npm feed on the dev tag. The PR comment flips to “queued 2 of 2”.

  3. File an evald issue. The publish pipeline fires a repository_dispatch back at vscode-engineering, which opens a model-evaluation issue on github/evald pinned to that exact published agent.

  4. Report back. evald runs the benchmark, monitors it, and produces an analysis comment. An Azure Logic App forwards just the comment URLs (not the analysis body — that stays private on evald) back as another repository_dispatch, which posts a link on the original VS Code PR.

Screenshot of an eval assessment report showing eval evidence with terminal logs, a task comparison table, and the proposed fix.

The model is the engine. The harness is the car.

We started with a question developers ask every few months: which model is best? But for a coding agent, that question is a little like asking: which engine is best? The engine matters, but it’s not enough on its own. It’s the context the model sees, the tools it can reach, the loop that keeps it going, and the evaluation that makes sure it all works. That’s the harness, and it’s what we spend most of our engineering time on.

As models gain new capabilities like longer context, better planning, and native tool use, the harness evolves to take advantage of them. And as developers push agent mode into new workflows, we feed what we learn back into the loop, the tools, and the evaluations. Every VS Code release ships harness improvements alongside model updates.

If you’re curious about how the harness works, you can get hands-on with it today. Explore the VS Code source code, use the Tools UI in Chat to see which tools are available for a request, and open the Chat Debug View to inspect the prompts, tool calls, and results behind an agent run. Try switching models, add your own tools, and let us know what works — share your feedback in our GitHub repo.

Happy coding! 💙

VSLive! Microsoft AI Hackathon 2026: Send Your Team Home With Working Code


Hackathon image

If you lead a development team, you already know the pattern. You approve the travel, your developers attend a great conference, they come back energized, and then the work resumes exactly as it was. The ideas don’t survive contact with the backlog.

This July at VSLive! @ Microsoft HQ in Redmond, we’re trying to change that pattern.

We’re adding the VSLive! Microsoft AI Hackathon 2026, a focused, hands-on build event that runs alongside the conference. Your developers learn during the day, then build at night, on the Microsoft campus, with Microsoft engineers and MVPs in the room. They leave with working code, not just notes.

Why this matters for dev leads

Most of your team is being asked to ship AI features into production right now. Most of them have not had uninterrupted time to actually build with Microsoft Foundry, Azure OpenAI, GitHub Copilot, or agent-based patterns under realistic constraints. Sprint work doesn’t allow it. Brown-bag sessions don’t go deep enough. Internal POCs get deprioritized.

This is structured time, with expert mentors, focused on the exact stack your team already runs on.

If you send two or three developers together, you get a small working group that returns with shared context, a real artifact, and the start of a pattern your team can extend. That’s a much better outcome than three separate sets of session notes.

Learn during the day. Build at night.

VSLive! @ Microsoft HQ runs on the Microsoft campus, which means your team is spending the week alongside the engineers, product managers, and MVPs who build and ship these tools.

Days cover Visual Studio, C#, .NET, Azure, Microsoft Foundry, Azure OpenAI, GitHub Copilot, agent-based development, and modern application patterns.

Evenings shift to the VSLive! Microsoft AI Hackathon, where the focus is building. Your developers take what they saw in sessions and apply it the same day, while it’s still fresh, with mentors on hand to unblock them.

They’ll work through the decisions that matter in production: architecture, security, user experience, and whether a pattern is actually viable for the kind of software your team supports.

The judging criteria reflect real engineering

Projects are evaluated on:

  • Architecture and design
  • Security and safety
  • Relevance to real business problems
  • User experience and execution
  • Practical use of Microsoft AI technologies

This is the right bar. AI is moving fast, but enterprise teams still have to ship software that is secure, maintainable, and defensible in a code review. The criteria reward the kind of thinking you want your developers practicing.

What your team can build

The goal is something a developer can demo, explain, defend, and improve. Not the flashiest demo, the most useful one.

That could be a C# application, a .NET service, an internal developer tool, an agent-based workflow, a line-of-business app, or a creative project applying AI to content or interactive scenarios.

Participants declare a primary category, with the option to add a secondary:

  • Microsoft .NET Powered Business Applications
  • Best AI Agent or Workflow Automation
  • Best Azure OpenAI / LLM-Powered App
  • Best GitHub Copilot Integration
  • Creative Applications

Participants retain full ownership and rights to their project IP. What your team builds belongs to them, and to you.

Who this fits

This is a fit for C# and .NET developers building business apps, web apps, desktop apps, cloud services, backend systems, and internal tools. It’s also a fit for developers exploring how AI fits inside the software they already build, whether that’s adding intelligence to an existing application, building an agent workflow, or improving a developer tool.

It’s approachable for developers new to hackathons and substantive enough for senior developers, architects, and dev leads who want practical patterns to bring back.

Your team can compete solo or as a team of up to four. Developers attending alone can form teams onsite.

Event details

Location:
Microsoft Commons Mixer, Building 98
Microsoft Headquarters, Redmond, WA

Schedule:

  • Tuesday, July 28, 2026, 6:00 PM to 10:00 PM
    • Kickoff, team formation, idea pitches, planning, first coding sprint.
  • Wednesday, July 29, 2026, 5:00 PM to 9:00 PM
    • Build time, mentor check-ins, final submissions, demo video submissions.
  • Thursday, July 30, 2026, 11:00 AM to 11:30 AM
    • Awards and select demos before the Thursday keynote.

Confirmed judges and proctors include Brian Randell, Phil Japikse, Eric Boyd, Allen Conway, and Microsoft representatives.

Prizes

Awards total up to $25,000, with a $6,000 Hackathon Grand Champion prize and additional team, solo, and category awards. Each project or team may win one monetary prize. Additional sponsored awards may be announced closer to the event.

A few logistics worth knowing

This is in-person only. There is no virtual option. Participation is capped, and once it’s full, it’s full.

If your developers are attending VSLive! @ Microsoft HQ, they can add hackathon participation during registration. There’s also a hackathon-only option for community attendees who aren’t doing the full conference.

If you’re local to Redmond, come spend an evening with us

If you’re in the Puget Sound area and the full conference isn’t in the cards, the hackathon-only pass exists for exactly this reason.

You don’t need a travel budget. You don’t need a hotel. You need an evening or two, a laptop, and an interest in building something real with the people who build the tools.

Being on the Microsoft campus after hours, working through a build with engineers, MVPs, and other developers in the room, is a different kind of experience than reading docs at your desk. The conversations are better. The unblocks are faster. The work sticks.

If you’ve been meaning to get more hands-on with Microsoft Foundry, GitHub Copilot, or agent-based development, this is a low-friction way to do it. Grab the hackathon-only pass, show up Tuesday night, and see where the build takes you.

The case for sending more than one

The single best decision a dev lead can make about this event is to send people in pairs or small groups. Two developers from the same team, in the same sessions, building together at night, will return with a shared frame of reference and the start of something your org can actually use. One developer returning alone has to re-explain everything to skeptical teammates, and most of what they learned will quietly evaporate.

If you’ve been waiting for the right reason to get a few of your developers to Redmond, this is it. They’ll learn from the people building the tools, build alongside the community, and come back with working code your team can keep improving.

And…. if you have an active Visual Studio Pro or Enterprise Subscription, don’t forget to login to my.visualstudio.com for your exclusive conference discount code.

Explore the Hackathon

Build, compete, and win.

Visual Studio Code 1.121


Follow us on LinkedIn, X, Bluesky


Last updated: May 14, 2026

Welcome to the 1.121 release of Visual Studio Code.

Happy Coding!



May 13, 2026

  • Add support for pinning favorite models in the language model picker. #299776

  • Set a VSCODE_AGENT environment variable when Copilot Chat runs commands in the terminal. #311734

  • Add an “Add to Chat” option to the right-click context menu in integrated browser. #305718

  • Automatically dispose background terminals created by the chat agent once their command finishes. #287177

  • Allow extensions contributing markdown.previewScripts to declare their scripts as ES modules by using the { "path": "...", "type": "module" } object syntax. #316328

  • Expand terminal tool output compression to cover more commands, including test runners (pytest, jest, cargo test), build tools (tsc, cargo build, make), linters, Docker, and package managers. #315881

May 12, 2026

  • Add an idle-silence timer to the run_in_terminal tool that automatically promotes a sync command to background execution when it produces no output for a configurable period. #315884

  • Fix multi-line shell commands in the Agent Host terminal tool. #312922

  • Bundle a newer version of ConPTY (conpty.dll) directly with VS Code on Windows. #224488

May 11, 2026

  • Add keyboard-interactive authentication support for Agent Host SSH connections. #315588

We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what’s new.

Agent Skills in Visual Studio: Teach Copilot How Your Team Works


Visual Studio now supports Agent Skills, which are reusable instruction sets that teach Copilot agents how to handle specific tasks like running a build pipeline, generating boilerplate, or following your team’s coding standards. Define a skill once, and the agent applies it automatically whenever it’s relevant.

Copilot chat displays that a skill is read and referenced

Creating a skill

You can create a skill directly from within Visual Studio. Click the tools icon in the bottom-right corner of Copilot Chat to open the skills panel, a dedicated view of every discovered skill. Click the + button in the top-right corner of the panel and follow the guided flow: choose a destination (global or solution-level skill), pick a name, and Visual Studio generates a skill template for you to fill in. Copilot Agent mode can then assist you in filling in the template. Currently this flow is only available in the Insiders channel and will be in Release soon.

create a new skill from the skills panel    create new skills panel where user define the location of the skill and the name.

You can also create a skill manually:

  1. Create a skill directory in your repository (.github/skills/my-skill/) or user profile (~/.copilot/skills/my-skill/).
  2. Add a SKILL.md file following the agentskills.io/specification format.
  3. Optionally include scripts, templates, or examples alongside it.

For example, you could have two skills, github-issues and code-review like this:

.github/
  skills/
    github-issues/
      SKILL.md
      templates/
        bug-report.md
    code-review/
      SKILL.md
      checklist.md

Skills are auto-discovered from these locations:

  • Solution skills (shared via your solution): .github/skills/, .claude/skills/, .agents/skills/
  • Global/Personal skills (shared via your user profile and available across solutions): ~/.copilot/skills/, ~/.claude/skills/, ~/.agents/skills/

When a skill activates, it appears in the chat window so you always know what’s being applied.

If you are not sure where to start or what skills to create, please check out awesome-copilot for many great community examples!

Managing skills from the skills panel

In addition to creating new skills, you can also manage your skills easily from the skills panel.

Skills panel where you can edit and open skills directly

From the panel you can:

  • Edit — Open any skill’s SKILL.md directly in the editor via the ⋯ menu.
  • Open file location — Jump to the skill directory on disk.
  • Search — Filter skills by name or keyword.

The panel also surfaces diagnostics for any skill configuration errors, so you can quickly spot and fix issues.

Skills panel displaying error information

Skills vs. Custom Instructions: when to use what

You may already be using custom instructions (.github/copilot-instructions.md) to guide your Copilot’s behavior. Custom instructions are great for broad, always-on guidance, such as things like “use tabs, not spaces” or “prefer async/await over callbacks.” They are automatically applied to every interaction you have with Copilot.

Agent Skills are different. Skills are task-specific and dynamically loaded. The model decides when a skill is relevant and applies it only in matching contexts.

Custom Instructions Agent Skills
Scope Always active Activated per-task
Best for Coding style, conventions, general preferences Workflows, templates, multi-step procedures
Structure Single markdown file Directory with SKILL.md + supporting files
Examples “Use PascalCase for public methods” “When creating a GitHub issue, use this template and include severity, repro steps, and environment info”

Use custom instructions for rules that should always apply. Use skills for specialized workflows that only matter in certain contexts. Another way to extend your agent’s capabilities is through MCP tools, which let the agent interact with external services and APIs. Skills and MCP tools complement each other well — a skill can describe how to handle a task while an MCP tool provides the capability to execute it.

Please give Agent Skills a try and share your feedback in the comments or on Developer Community.

Happy coding!