The Workshop · 11 min mission
GitHub Copilot: Agent Mode and the Cloud Agent
Tell Copilot's two agents apart and drive each one without surprises.
GitHub Copilot ships two agents under one brand. Agent mode is synchronous and in-editor: you drive it from Copilot Chat in VS Code under a configurable permission level. Autopilot is the explicit high-autonomy exception: after a one-time warning, it overrides fine-grained approval settings, auto-approves all tool calls, retries failures, and answers agent questions automatically. The separate Copilot cloud agent is asynchronous: it runs unattended on GitHub Actions and works on one branch. Assigning an issue always creates one pull request; prompt-started sessions are branch-only by default and may request at most one pull request later. This guide covers how to enable each, the custom-instruction and MCP config files both read, the model shelf, and the AI-Credits billing that took effect 2026-06-01.
| Property | Agent mode (in-editor) | Cloud agent (autonomous) |
|---|---|---|
| Runs in | VS Code Copilot Chat | GitHub Actions infra |
| Mode | Synchronous (you watch) | Asynchronous (you wait) |
| Tool approval | Configurable levels; Autopilot overrides fine-grained settings and auto-approves all calls | Autonomous, no per-call approval |
| Output | Edits to your working tree | 1 branch; issue assignment creates 1 PR, prompt-started sessions default to 0 and may request 1 later |
| Availability | GA for all VS Code users (Apr 2025) | All paid plans (not Free) |
| Started from | Agent in the chat mode dropdown | Issue assignee, IDE, CLI, API, Actions run |
Agent mode or the cloud agent — which fits the task?
Which IDE agent?
Five quick questions about where you code, how much autonomy you want, how you'd rather pay, whether open source matters, and your main language — and you'll get a single agent to start with, the reasoning behind it, and a compatible runner-up when one is available. All five contenders are in the legend below.
The five contenders
An AI-first editor (a VS Code fork) with a strong agent, fast Tab completion, and multi-file edits.
Drops into the editor you already use — VS Code, JetBrains, Visual Studio, Neovim — with chat, agent mode, and completions.
Cognition’s AI-native desktop editor, formerly Windsurf. Devin Local is the primary agent; Cascade remains a separate, still-documented lane for Memories and Workflows, with no verified final shutdown date.
An open-source, fully autonomous coding agent for VS Code and JetBrains. You bring your own model and pay the provider directly.
The maintained community successor to archived Roo Code: an open-source VS Code agent with role-based modes and BYO models.
Enable agent mode in VS Code
Open Chat and sign in
Open the Copilot Chat view in VS Code and sign in to GitHub. Agent mode is GA, so a current build already includes it.
Confirm `chat.agent.enabled`
Ensure the setting
chat.agent.enabledis on. This setting is managed at the organization level — a missing Agent option is usually an org policy, not your local config. Reload VS Code after updating if the option does not appear.Select Agent and describe an outcome
Pick Agent in the chat mode dropdown. Copilot plans the approach, edits files across the project, runs terminal commands, and self-corrects on errors. Choose a permission level that fits the task. If you select Autopilot, heed its one-time warning: it overrides fine-grained approval settings and auto-approves every tool call.
Delegate to the cloud agent
Assign a GitHub Issue to Copilot using the standard assignee interface — the same way you would assign a teammate — from github.com, GitHub Mobile, or the GitHub CLI. Beyond issues, you can start a session from github.com (issues, the agents tab/dashboard, Copilot Chat, new repositories, a failing GitHub Actions run), GitHub Mobile, IDEs (VS Code, JetBrains, Eclipse, Visual Studio 2026), the REST API, the GitHub CLI, the GitHub MCP Server, and integrations including Jira, Slack, Microsoft Teams, Azure Boards, Linear, and Raycast.
| Constraint | Value | Implication |
|---|---|---|
| Max execution | 59 minutes per session | Hard cap; cannot be extended or bypassed |
| Branches | One per session | No parallel-branch work in a run |
| Pull requests | Issue assignment: exactly one; prompt-started: zero by default, at most one by request | The start trigger determines whether a PR is automatic |
| Repositories | One per run | Cannot change multiple repos in one run |
| Content exclusions | Not applied | Excluded files remain readable; secrets-in-repo are not hidden |
| Final approver | Not the issue creator | Line up a peer, manager, or designated reviewer |
Custom instructions
Custom instructions are plain-Markdown files committed to the repo. There are three shapes plus the cross-tool AGENTS.md. Verify a file was injected by looking for .github/copilot-instructions.md in the References list of a chat response — instructions are not echoed into chat, but the reference appears when used.
| Goal | File | Required frontmatter |
|---|---|---|
| Whole repo | .github/copilot-instructions.md | None |
| Specific paths | .github/instructions/<name>.instructions.md | applyTo glob (comma-separated allowed) |
| Cross-tool spec | AGENTS.md (anywhere in tree) | None; nearest wins |
---
applyTo: "**/*.ts,**/*.tsx"
# Optional: keep this file out of a specific agent.
# excludeAgent: "cloud-agent" # or "code-review"
---
Use strict TypeScript — no `any`. Prefer named exports.
Run `npm run lint` and `npm test` before considering a change done.
Keep public function signatures stable unless the task says otherwise.MCP: giving Copilot new tools
Copilot supports MCP (Model Context Protocol — an open standard for sharing context with LLMs) in Copilot Chat agent mode. In VS Code, configure servers in .vscode/mcp.json (per-workspace) or your personal settings.json. The file has two top-level keys: inputs (parameters/secrets it prompts for) and servers (each a local stdio server with command + args, or a remote HTTP/SSE server by URL with optional OAuth or PAT auth). Client minimums: VS Code 1.99+, Visual Studio 17.14+, Eclipse 2024-09+, plus JetBrains and Xcode.
{
"inputs": [
{
"id": "github-token",
"type": "promptString",
"description": "GitHub PAT for the MCP server",
"password": true
}
],
"servers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "${input:github-token}" }
}
}
}| Aspect | Agent mode (VS Code) | Cloud agent |
|---|---|---|
| Config location | .vscode/mcp.json or settings.json | Repository settings (JSON) or per custom agent |
| Defaults enabled | None | GitHub MCP Server (read-only) + Playwright MCP |
| Supported primitives | Tools, resources, prompts | Tools only (no resources/prompts) |
| Remote OAuth | Supported | Not supported |
| Tool approval | Permission-level dependent; Autopilot overrides fine-grained settings and auto-approves all calls | Autonomous, no approval |
Model shelf
The selectable model shelf varies by plan and by client (github.com vs IDEs). As of 2026-06-15 it spans OpenAI (GPT-5 mini, GPT-5.3-Codex, GPT-5.4, GPT-5.4 mini, GPT-5.4 nano, GPT-5.5), Anthropic (Claude Haiku 4.5, Sonnet 4.5, Sonnet 4.6, Opus 4.5, Opus 4.6, Opus 4.6 fast mode (preview), Opus 4.7, Opus 4.8, Fable 5), Google (Gemini 2.5 Pro, Gemini 3 Flash (preview), Gemini 3.1 Pro (preview), Gemini 3.5 Flash), Microsoft (MAI-Code-1-Flash), and GitHub fine-tuned Raptor mini (preview). The shelf rotates fast — check the supported-models doc rather than hard-coding a name as "current."
| Plan | Price | Included usage | Cloud agent? |
|---|---|---|---|
| Free | $0 | Limited completions + limited chat/agent | No |
| Pro | $10/mo | $15/mo ($10 base + $5 flex) | Yes |
| Pro+ | $39/mo | $70/mo ($39 base + $31 flex) | Yes |
| Max | $100/mo | $200/mo ($100 base + $100 flex) | Yes |
| Business | $19/user/mo | $19 (+$30 promo, Jun–Aug 2026) | Yes (admin policy) |
| Enterprise | $39/user/mo | $39 (+$70 promo, Jun–Aug 2026) | Yes (admin policy) |
Knowledge check
You opened an issue, assigned it to Copilot, and the cloud agent pushed a clean PR. You want to merge it today. What is the catch?
Reach the end and this star joins your charted sky.