<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Coding-Agent | The .NET Blog</title><link>https://thedotnetblog.com/tags/coding-agent/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>en</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Fri, 14 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/tags/coding-agent/index.xml" rel="self" type="application/rss+xml"/><item><title>Autonomous Development Within VS Code: GitHub Copilot Coding Agent Arrives</title><link>https://thedotnetblog.com/news/emiliano-montesdeoca/github-copilot-coding-agent-in-vs-code/</link><pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/news/emiliano-montesdeoca/github-copilot-coding-agent-in-vs-code/</guid><description>Assign GitHub issues to an autonomous agent. Track progress in VS Code. Review PRs, iterate, and close issues without leaving your editor. Multi-agent workflows are now practical.</description><content:encoded>&lt;p&gt;Original source: &lt;a href="https://code.visualstudio.com/blogs/2025/07/17/copilot-coding-agent"&gt;Command GitHub&amp;rsquo;s Coding Agent from VS Code&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="autonomous-development-within-vs-code-github-copilot-coding-agent-arrives"&gt;Autonomous Development Within VS Code: GitHub Copilot Coding Agent Arrives&lt;/h1&gt;
&lt;p&gt;There&amp;rsquo;s a difference between an AI that suggests code and an AI that completes tasks.&lt;/p&gt;
&lt;p&gt;VS Code&amp;rsquo;s agent mode was the former: chat with an AI, ask it to modify files, and approve tool calls. Powerful, but synchronous. You&amp;rsquo;re still in the loop, making decisions.&lt;/p&gt;
&lt;p&gt;GitHub&amp;rsquo;s Copilot Coding Agent is different. You assign it an issue. It spins up a temporary development environment. It explores your codebase, makes changes, runs tests, and opens a pull request. Then it waits for your feedback.&lt;/p&gt;
&lt;p&gt;And now, you can do all of that—assign, track, review, and iterate—without switching to GitHub.com. It&amp;rsquo;s all in VS Code.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s not just convenience. That&amp;rsquo;s a different workflow.&lt;/p&gt;
&lt;h2 id="how-copilot-coding-agent-works"&gt;How Copilot Coding Agent Works&lt;/h2&gt;
&lt;p&gt;The flow is simple:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Enable&lt;/strong&gt; the agent in GitHub settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Assign an issue&lt;/strong&gt; to Copilot Coding Agent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Let it work&lt;/strong&gt; in a temporary, isolated development environment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Review the pull request&lt;/strong&gt; it opens.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ask for changes&lt;/strong&gt; or approve the result.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Let the agent iterate&lt;/strong&gt; until the issue is resolved.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The key difference from local agent mode is that the agent runs remotely, in a temporary environment isolated from your machine. It can explore your codebase, install dependencies, build, run tests, and make changes without touching your local filesystem.&lt;/p&gt;
&lt;p&gt;From the blog: &amp;ldquo;The agent runs within a temporary isolated dev environment that gets spun up where the agent can explore the codebase, make changes, build the code, run tests, etc. - a complete dev environment just for the agent.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;That isolation is crucial for safety. The agent can be as destructive as it needs to be because the environment is disposable.&lt;/p&gt;
&lt;h2 id="vs-code-integration-track-and-control-everything"&gt;VS Code Integration: Track and Control Everything&lt;/h2&gt;
&lt;p&gt;Copilot Coding Agent lived on GitHub.com. You assigned an issue, then switched to a browser to watch progress.&lt;/p&gt;
&lt;p&gt;Now, the pull requests extension brings it into VS Code:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Assign from the sidebar.&lt;/strong&gt; Select an issue in the pull request view and assign it to Copilot Coding Agent without leaving the editor.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Track progress.&lt;/strong&gt; A new &lt;strong&gt;Copilot on My Behalf&lt;/strong&gt; query shows agent sessions. Open a session to watch the play-by-play: commands, decisions, and progress.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Terminate when needed.&lt;/strong&gt; If the agent goes off course, terminate the session from VS Code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Review and iterate.&lt;/strong&gt; When the agent opens a pull request, leave comments and request changes. The agent reads the feedback, updates the pull request, and tries again.&lt;/p&gt;
&lt;p&gt;The workflow is familiar—review, request changes, iterate—but with an agent as the implementer.&lt;/p&gt;
&lt;h2 id="a-pull-request-is-still-the-boundary"&gt;A Pull Request Is Still the Boundary&lt;/h2&gt;
&lt;p&gt;The example in the source article is useful because it shows where autonomy stops. The agent implements a Trending section, including UI and database changes, and opens a pull request. A reviewer notices that the database migration is not enough and the agent needs access to an external account.&lt;/p&gt;
&lt;p&gt;That is the right place to pause. The pull request is the review boundary. Additional access should be granted deliberately through an MCP server, not by quietly adding credentials to the agent&amp;rsquo;s environment.&lt;/p&gt;
&lt;p&gt;For a .NET team, the same pattern might look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Issue: Add a paginated orders endpoint
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Acceptance criteria:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Use the existing application service pattern.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Return ProblemDetails for validation errors.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Add integration tests for page boundaries.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Do not change the public database schema.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Report the dotnet test command and result in the pull request.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Clear acceptance criteria give the agent a shape it can follow and give the reviewer something concrete to verify.&lt;/p&gt;
&lt;h2 id="mcp-expands-the-agents-reach"&gt;MCP Expands the Agent&amp;rsquo;s Reach&lt;/h2&gt;
&lt;p&gt;VS Code lets you configure MCP servers for the Copilot Coding Agent. That is powerful, but the security trade-off is direct: more tools mean more autonomy and more risk.&lt;/p&gt;
&lt;p&gt;A conceptual configuration might look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Example only: grant a narrowly scoped external capability&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;github&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;codingAgent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;mcpServers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;supabase&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;credentials&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${SUPABASE_API_KEY}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Use the smallest useful permission set. An agent that can inspect a deployment is not the same as one that can change production. Keep credentials scoped, short-lived, and observable.&lt;/p&gt;
&lt;h2 id="the-caveat-agent-behavior-is-still-unpredictable"&gt;The Caveat: Agent Behavior Is Still Unpredictable&lt;/h2&gt;
&lt;p&gt;LLMs are stochastic. Sometimes the agent nails a complex feature. Sometimes it misses context and opens a pull request that needs significant rework.&lt;/p&gt;
&lt;p&gt;For critical infrastructure changes, add another review layer. The agent is well suited to bounded work that follows existing patterns. Architectural decisions, security-sensitive changes, and changes that cross several systems deserve human ownership.&lt;/p&gt;
&lt;p&gt;Good tests matter too. The agent runs tests and uses their results as feedback. Bad or missing tests mean more back-and-forth and weaker confidence.&lt;/p&gt;
&lt;h2 id="my-take-issue-quality-becomes-an-engineering-input"&gt;My Take: Issue Quality Becomes an Engineering Input&lt;/h2&gt;
&lt;p&gt;This workflow works best when the issue is clear. &amp;ldquo;Fix the dashboard&amp;rdquo; is a conversation starter, not an implementation specification. &amp;ldquo;Add a dark mode toggle to the settings panel, persist the preference, and cover it with a browser test&amp;rdquo; gives an agent something verifiable.&lt;/p&gt;
&lt;p&gt;Teams adopting coding agents will improve when they invest in:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Clear issue acceptance criteria.&lt;/li&gt;
&lt;li&gt;Test coverage that describes expected behavior.&lt;/li&gt;
&lt;li&gt;Deliberate MCP access policies.&lt;/li&gt;
&lt;li&gt;Review rules for agent-generated changes.&lt;/li&gt;
&lt;li&gt;Metrics for rework and successful first passes.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is not replacing developers. It is moving developer attention toward architecture, design, and review while an agent handles routine implementation.&lt;/p&gt;
&lt;h2 id="what-to-do-next"&gt;What To Do Next&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Install or update the GitHub Pull Requests extension.&lt;/li&gt;
&lt;li&gt;Enable Copilot Coding Agent in GitHub settings.&lt;/li&gt;
&lt;li&gt;Create a small test issue with explicit acceptance criteria.&lt;/li&gt;
&lt;li&gt;Assign it from VS Code and watch the session.&lt;/li&gt;
&lt;li&gt;Review the pull request as carefully as any human-authored change.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For .NET teams, start with a bounded endpoint, a test addition, or a small refactoring that fits existing patterns. The autonomous developer is not here to replace your judgment. It is here to multiply the amount of work your judgment can supervise.&lt;/p&gt;
&lt;p&gt;Use it deliberately.&lt;/p&gt;
&lt;p&gt;Happy coding.&lt;/p&gt;</content:encoded></item></channel></rss>