GitHub Copilot on Windows Visual Studio · VS Code · CLI · cloud agent · app

Copilot is no longer one thing: completions, agent mode in Visual Studio and VS Code, a CLI under PowerShell, a cloud coding agent and a desktop app — all reading the same configuration layer. Guide cards explain how the surfaces differ, what each configuration file does, and how to give an agent something worth reading. The index below is a searchable dictionary of every command, flag, file, frontmatter field and setting.

CLIIDEfile / frontmattergithub.commodelanti-pattern August 2026

How Copilot works now

the surfaces, the configuration layer, and what each artifact does · click to collapse

The five surfaces

pick one

Copilot is not one product. Each surface has a different latency, a different amount of autonomy, and a different correct use. Reaching for the wrong one is the most common way to have a bad time.

SurfaceYou areUse for
CompletionsTypingFinishing the line; refactor ripple
IDE agent modeWatchingVisual Studio or VS Code — not at parity
CLIWatching or scriptingPowerShell 6+, Windows Terminal
Cloud agentAwaySpecified tasks ending in a PR
Copilot appSupervising severalMany streams at once

All five read the same configuration files. That is the leverage: one AGENTS.md teaches the editor, the terminal, the cloud and the reviewer at once.

Next edit suggestions

Predicts where your next change goes after the one you just made — a rename that ripples, a signature change needing its call sites updated. Accepting these in sequence beats describing the refactor to a chat window. Keep irrelevant tabs closed: completion context comes largely from open files, and a stale tab actively misleads.

Windows setup

start here
winget install Microsoft.PowerShell # pwsh 7 winget install GitHub.Copilot # the CLI winget install GitHub.CopilotApp # the desktop app

Copilot CLI requires PowerShell 6+, and Windows 11 ships 5.1. Installing pwsh puts it alongside the built-in powershell, so nothing depending on 5.1 breaks. Run Copilot from pwsh in Windows Terminal.

The npm route

Needs Node 22+. If .npmrc has ignore-scripts=true you get a silently broken binary — override for that command:

$env:npm_config_ignore_scripts='false' npm install -g @github/copilot

Where things live

PathWhat
%USERPROFILE%\.copilotCLI config, agents, mcp-config.json
%USERPROFILE%\.github\agentsVisual Studio personal agents — a different folder
.github\agents\Repository agents; read by both. Prefer this
COPILOT_HOMERelocates the CLI config directory

WSL has its own filesystem and home — config set up in Windows is invisible inside it, and vice versa. Pick one side deliberately.

Give it something to read

wiki + CLI

An agent is only as useful as the context it can reach. Two things supply it, and neither is Copilot configuration.

A personal work wiki

Plain markdown in git. The test for what belongs: would a competent new colleague have to ask someone?

work-wiki\ ├── index.md catalogue — every page, one line ├── log.md append-only, what you did and learned ├── raw\ source, verbatim, never edited └── wiki\ distilled — one concept per page

Hosts and how you reach them · decisions and why · runbooks for anything done less than monthly · where tickets, dashboards and secrets live · who owns what · traps and the incident that proves them.

Never credentials — record where a secret lives, never its value. A wiki is a file an agent will read and quote back. And keep it out of OneDrive: a folder that syncs mid-write produces conflict copies of the file you are editing.

Wire it in: a line in AGENTS.md naming the path · --add-dir for a CLI session · a Space for questions the team keeps asking.

CLI access to your data

An agent with a shell can query anything with a command line. Pasting is the worst option available — stale, truncated, unrepeatable. A command is live and can be re-run with different arguments.

gh · az · dotnetissues, cloud, project graph sqlcmd · kubectlthe actual data and cluster state Get-WinEvent · Get-Servicereal Windows state winget listwhat is genuinely installed

PowerShell's edge over bash: cmdlets emit objects, so | ConvertTo-Json gives a model something it parses exactly instead of scraped text.

Teach it an unknown CLI: “use ourtool --help to learn the tool, then…”. No CLI? Look for an MCP server. Neither? That system is invisible to your agents. Use read-only credentials wherever the work is read-only.

Visual Studio

the Windows IDE

Version gaps are wide. Agent mode needs VS 2022 17.14+. Custom agents need VS 2026 18.4+ — they do not exist in 2022. VS 2022 has only @profiler of the built-in agents.

AgentWhat it does
@debuggerDrives the real debugger: reproduces, instruments with tracepoints, validates against live runtime data
@gitReviews uncommitted local changes inline
@profilerReal bottlenecks from the profiler, not guesses
@testTests matching your framework and conventions
@modernize.NET and C++ upgrades: assess → plan → execute
Plan agentRead-only exploration → plan in .copilot/plans/Implement plan

VS-only tools

find_symbol — language-aware navigation (C++, C#, Razor, TypeScript). With the Desktop development with C++ workload: get_symbol_call_hierarchy, get_symbol_class_hierarchy.

Where the switches are

ThingPath
Agent modeCopilot Chat mode dropdown: Ask → Agent
PlanningTools → Options → GitHub → Copilot → Copilot Chat
Reset approvalsTools → Options → GitHub → Copilot → Tools
Cancel a buildCtrl+Break

Safety note. Agent mode edits only files in the open solution directory — but terminal commands run with Visual Studio's own permissions and are not confined there. Read commands before approving.

.NET: CSharpExpert.agent.md and WinFormsExpert.agent.md from awesome-copilot. The WinForms one prevents .Designer.cs corruption — a real way for an agent to break your designer.

Instruction files

the compounding layer

The highest-leverage configuration in the product, and it is a text file. It must be committed — a file that exists only on your machine helps exactly one person.

FileApplies
AGENTS.mdEvery agent, every surface. The cross-tool standard
.github/copilot-instructions.mdEvery Copilot request in the repo
.github/instructions/*.instructions.mdOnly when applyTo glob matches
Organisation instructionsAll repos in the org
Personal instructionsYou, everywhere

Precedence: personal → repository → organisation. Copilot also reads CLAUDE.md and GEMINI.md — which is why AGENTS.md is worth adopting: one file, every vendor's agent.

Path-scoped, the underused half

--- name: 'Test conventions' description: 'How we write tests' applyTo: '**/*.test.ts,**/*.spec.ts' --- - Use `renderWithProviders`, never bare render. - Mock the network boundary only.

Costs nothing until a matching file is in context. Broad rules in AGENTS.md, conditional rules in applyTo files. One enormous always-on file gets diluted and ignored.

✓ Include

  • Build / test / lint commands
  • Conventions differing from the default
  • Architecture boundaries, with reasons
  • Where the real docs live
  • Known traps

✗ Exclude

  • Anything readable from the code
  • Style the linter enforces
  • A tour of the directory tree
  • The docs themselves
  • Rules nobody follows

Give the reason for a rule and show a preferred and an avoided example. A rule with a reason survives a situation you did not anticipate.

Copilot CLI

separate install

A different tool from the old gh copilot suggest/explain extension — that was a phrasebook, this is an agent.

copilotinteractive copilot -p "…"programmatic; scripts and CI copilot --cloudwhole session in a cloud sandbox copilot --agent <name>start on a specific agent copilot --yoloapprove everything copilot --continueresume the last session

In a session

Shift+Tabplan mode — discuss before writing !<cmd>run a shell command directly Ctrl+Ttoggle reasoning display @fileattach a file; images and PDFs paste in

Six built-in agents

Explore fast survey · Task run tests and builds · General purpose multi-step · Code review · Research deep investigation · Rubber duck argues back. Switch with /agent.

Config lives in ~/.copilot — agents in ~/.copilot/agents, servers in mcp-config.json. Relocate with COPILOT_HOME. Automatic compaction kicks in near 95% of the token limit.

IDE agent mode

VS Code v1.110+

The agent loop inside the editor: reads, edits, runs commands, reads output, iterates.

FeatureWhat it gives you
Queue & steerSend a follow-up mid-run; it folds the correction in
/autoApprove · /yoloApprovals off for the session. Pair with sandboxing
HooksYour code at lifecycle events; can block a command
Fork from checkpointTry another approach, keep the original intact
Explore subagentResearch on a cheap parallel model, off your context
Plan persistencePlans survive turns and compaction
/compact <guidance>Steer what is kept, not a blind summary
Large output to diskTool output stops eating the window
/create-*Generate agents, skills, prompts, hooks from a description

Auto-approve without a sandbox is just removing your brakes. Enable terminal sandboxing first, then stop approving.

Cloud coding agent

you are away

Works in an ephemeral GitHub Actions environment and opens a pull request. Assign from an issue, the agents panel, VS Code, a @copilot PR comment, an automation, or a security campaign.

The constraints are the design

LimitSo write the task…
59 minutes, hardScoped to something finishable
One branch, one PRAs one coherent change
Single repositorySplit by repo; it cannot cross
Ephemeral envWith setup scripted, or it cannot test
Branch protectionsAdd Copilot as a bypass actor first

A cloud-agent task is not a chat message — it is closer to a well-written issue: what done looks like, files in scope, what must not change, and how to verify. Nobody is watching.

Why scripted setup matters

If the suite needs a database, fixture or env var and that setup is not in the repo, the agent physically cannot run it — so it writes plausible code and stops. Scripted setup is what turns the cloud agent from a guesser into a checker.

The Copilot app

GA 17 Jun 2026

Desktop client for macOS, Windows and Linux. GitHub's stated problem: “the agentic shift has made development faster, [but] it's also led to disjointed workflows, more context switching, and too much time spent reviewing agent-generated code.”

FeatureWhat it does
Parallel worktreesEach agent gets its own branch and working copy, made and cleaned up for you
CanvasesShared surfaces: a plan, PR, browser, terminal, dashboard
My WorkEvery session, issue, PR and automation in one view
Agent mergeWatches CI, fixes checks, merges under your rules
SandboxesLocal and cloud; plus BYOM and MCP

GitHub on the split: “Chat is where you instruct, discuss, and reason through ambiguity. Canvases are where that intent becomes visible work you can inspect, steer, and verify.”

Rule of thumb: more than two agents in flight → the app, or the worktree discipline it automates. One agent you are watching → the IDE is fine.

The customisation ladder

5 rungs
RungAppliesFor
InstructionsAutomaticallyConventions, always or by path
.prompt.mdYou type /nameA repeatable task with arguments
SKILL.mdJudged relevantA procedure with bundled files
.agent.mdSelected or delegated toA persona: own tools and model
PluginsInstalled as a unitDistributing all of the above

Skills — a folder, not a file

.github/skills/release-notes/SKILL.md --- name: release-notes description: Draft release notes from merged PRs since the last tag. Use when the user asks for release notes or a changelog entry. allowed-tools: shell ---

name lowercase-hyphenated, matching the directory. description is the matcher — it must say what it does and when to use it, or the skill never fires. Keep SKILL.md under 500 lines; detail goes in references/.

The 500-line rule is progressive disclosure. The short file is loaded to judge relevance; references are read only if the skill runs. A skill that inlines everything defeats its own mechanism.

Custom agents

.github/agents/reviewer.agent.md --- name: reviewer tools: ['search', 'fetch'] model: claude-opus-4.8 handoffs: - label: Fix the findings agent: implementation ---

Least privilege: a reviewer with only search and fetch cannot edit code — stronger than asking it not to. Handoffs turn agents into a workflow. agents: allows delegation to subagents; user-invocable: false hides one from the picker.

Agent Plugins 1.0 — 6 Aug 2026

An open standard maintained by AWS, Anysphere, Microsoft, OpenAI, Vercel and Google. Bundles skills + MCP servers into one unit that works in VS Code, the CLI, the app and the SDK.

plugin.json manifest, $schema skills/ portable mcp.json MCP servers com.github.copilot/ client-specific: agents, hooks

Portable parts on top, vendor-specific quarantined below — that separation is the point of the standard.

Code review

first pass, not a gate
EffortCostUse for
Lite (default)~$0.05–$1 creditsRoutine changes
Balanced~$0.25–$5 creditsSecurity-sensitive, cross-service

Runs on PRs, in the IDE and on github.com. Reads the same instruction files, so review quality is downstream of your AGENTS.md. Can review automatically on open, on new commits, or while in draft.

GitHub's own wording: “Copilot is not guaranteed to spot all problems or issues in a pull request.” Treat it as a first pass that clears the boring findings so human review can spend itself on design.

You cannot pick the model — it uses a tuned mix deliberately, for consistency. Dependency files, logs and SVGs are excluded from review.

Models & premium requests

a real decision

Copilot is a model marketplace. Mid-2026 the picker spans OpenAI's GPT-5.5 generation and GPT-5.3-Codex, Anthropic's Claude Sonnet 5 and Opus 4.8, and Google's Gemini 3.1 Pro and Gemini 3 Flash, with cheaper tiers alongside.

They are not priced alike. Premium requests are consumed by a multiplier: a small model may cost none, a frontier model up to 10× per request against a monthly quota.

Don't

  • Leave the picker on a frontier model for renames and scaffolding
  • Discover the quota is gone on the 10th

Do

  • Spend the multiplier on hard bugs and security review
  • Check /usage in the CLI

Pin the model in agent frontmatter rather than deciding at the moment of use — a reviewer on a strong model, a scaffold on a cheap one. Decided once, correctly, then never again.

Memory, Spaces & MCP

context that persists

Memory

Shared across the cloud agent, the CLI and code review — knowledge accumulates instead of being re-supplied. Also a place where a wrong fact becomes durable, so correct mistakes deliberately rather than working around them.

Spaces

Curated context containers on github.com: repos, files, issues, PRs, free text, images. Best for the recurring question — onboarding, a subsystem people keep asking about, a migration everyone needs the same background on. Permissions are respected: viewers only see sources they already had. Reachable from the IDE via the GitHub MCP server.

MCP

copilot mcp add --transport http NAME URL

The GitHub server is preconfigured in the CLI. The high-value additions are systems holding answers your repo cannot give: the issue tracker, the observability stack, the design system.

Automations

Run the cloud agent on a schedule or on GitHub events — dependency bumps, issue triage, recurring reports — with permission gates before write actions. The CLI's lightweight equivalent is /every and /after.

Idioms

what pays off

The one that matters

Instruction files are the only thing that makes Copilot get better over time. A good prompt helps once; a line in AGENTS.md helps every agent on every surface forever. Re-explaining a convention weekly is a bug in your repository, not in the model.

Verification, in three layers

  • Say how to verify, in the task itself. Cheapest, most skipped.
  • Make the environment able to verify — scripted setup, or the agent cannot test what it wrote.
  • Hooks for what must never be skipped. Instructions are advice; a hook is a rule.

Sequence that works

week 1 AGENTS.md + commit; CLI in plan mode; /usage week 2 applyTo instructions; one skill; one cloud agent task with a verification step month 2 read-only reviewer.agent.md; sandbox, then auto-approve; a blocking hook

Start here

AGENTS.md alone. It is the only artifact that pays off immediately on every surface, and the rest are far easier to write once you have felt the difference the first one makes.

Public opposition to AI

the argument under the tooling

A large share of the public — in most 2025–26 polling, a plurality to a majority — says it is more worried than excited about AI. You use Microsoft and GitHub's tools all day; it is worth being able to state the other side's case accurately, and then say why you are on this side of it anyway.

What people are worried about

  • Jobs. The fear is not abstract: entry-level software, support, translation and content roles are where hiring has visibly softened, and "learn to code" was the advice given to the last displaced cohort.
  • Training data. Models were trained on books, code and images whose authors were not asked. Courts have mostly sided with fair use so far; the authors have not changed their minds.
  • Energy, water, neighbours. Data-center electricity demand is real, concentrated, and frequently paid for through everyone's rates — the one objection that wins county votes.
  • Slop and trust. Fluent, confident, wrong text at scale: fabricated citations, AI-generated pull requests that waste maintainers' time, search results that are summaries of summaries.
  • Deskilling. If the tool writes the code, who still knows how? Juniors who never debug a thing they did not write are the worry here.
  • Concentration. A handful of companies own the frontier models, the chips and the capital. Nobody voted for that.

Why the advantages are larger

  • The productivity is measured, not claimed. Controlled studies put task completion gains for developers at roughly a third to a half on bounded work; at the high end, teams using agentic tools report output doubling. Every previous tool with that profile — compilers, IDEs, Stack Overflow — ended up with more programmers, not fewer, because cheaper software means more software gets built.
  • Access. The person who could never afford a developer, a lawyer's first read, a tutor at 11 pm, a translator, or a patient explanation of their own lab results now has one. That is the largest transfer of expert capacity to ordinary people since the public library.
  • Verification is the answer to slop — and it is a discipline, not a hope. Everything on this sheet about tests, hooks, reviewers and evidence exists because the failure mode is known and solvable. The tool that writes the bug also runs the test.
  • Learning accelerates rather than atrophies for anyone who uses it to be questioned instead of answered. The deskilling risk is real and it is a choice: a tutor that refuses to give the answer is one output style away.
  • Small teams do large things. One person with an agent fleet ships what took a department. For a hobbyist with a bench and a 3D printer that is the difference between a project finished and a project imagined.
  • The hard problems need it. Protein structure, materials, formal verification, reading every paper in a field — these are not jobs the technology takes; they are jobs nobody could do.

Where the honest ground is

  • Most objections are to allocation, not to the technology: who pays for the substation, who is compensated for the training data, who is retrained. Those are policy fights with real losers, and "the benefits are larger" is true and insufficient to the person on the losing end.
  • The energy objection gets settled by large-load tariffs and closed-loop cooling, not by arguing about it.
  • The slop objection gets settled by people who refuse to ship unverified work. Be one of them — it is the single thing a user can do for the tool's reputation.
  • The jobs objection is the one without a clean answer. The historical pattern is strongly reassuring and the people living through the transition are not wrong to be afraid of it.

Copilot specifically. It was the first product sued over training on public code (Doe v. GitHub, 2022 — mostly dismissed by 2024, the licence-attribution claims narrowed rather than vindicated). Maintainers complain about AI-generated pull requests and issues that cost more to triage than they save — several large projects now have explicit policies. And because Microsoft ships it inside Windows, Office and GitHub at once, a user who never chose it still meets it, which is where most of the "forced on us" resentment comes from.

The short version for the dinner table: the concerns are mostly legitimate and mostly about who pays; the benefits are larger, broader and already measurable; and the one thing in your control is to be a user whose output earns the tool its trust.

Index

every command, flag, file, frontmatter field and setting · use the search box above · click to collapse

Copilot CLI

terminal

Launching

copilotStart an interactive session. Prompts to trust the working directory first.
copilot -p "<prompt>"Programmatic mode: no interactive prompts. For scripts and CI.
copilot --cloudRun the whole session remotely in an isolated cloud sandbox.
copilot --agent <name>Start on a named agent instead of the default.
copilot --yoloAlias of --allow-all: approves every tool. Know what you are doing.
copilot --continueResume the most recently closed local session.
copilot help <topic>Topics: config, environment, logging, permissions. Or ? in a session.

Keys in a session

Shift+TabPlan mode — discuss the approach before any code is written.
!<command>Run a shell command directly, bypassing the model.
Ctrl+TShow or hide the model's reasoning. Persists across sessions.
@<file>Attach a file. Images and PDFs can be pasted or dragged in.

Slash commands

/agentSwitch agent. Six ship built in; custom ones are discovered too.
/loginAuthenticate with GitHub if not already signed in.
/add-dirAdd another trusted directory to the session.
/cwd · /cdSwitch the working directory mid-session.
/everySchedule a prompt to run repeatedly. The CLI's lightweight automation.
/afterSchedule a prompt to run once, later.
/resumeRestore a previous session and its context.
/mcp addConfigure an MCP server for the session.
/contextVisual overview of what is consuming the context window.
/usageToken consumption and remaining premium-request credits.
/compactCompress history manually. Auto-compaction triggers near 95% of the limit.
/sandbox enableTurn on local sandboxing. Do this before you turn approvals off.
/settingsConfigure personal preferences for the CLI.
/feedbackSend a bug report or suggestion to GitHub.

Built-in agents

ExploreQuick codebase analysis. The cheap one to reach for first.
TaskExecutes tests and builds.
General purposeMulti-step complex work.
Code reviewEvaluates changes.
ResearchDeep codebase investigation.
Rubber duckGives constructive pushback automatically.

CLI config

~/.copilotPersonal config root: agents, instructions, MCP servers.
COPILOT_HOMERelocate the whole config directory.
mcp-config.jsonWhere MCP server configuration persists. Default ~/.copilot.
~/.copilot/agents/Personal custom agents, available in every repository.

Windows & Visual Studio

platform

Install

winget install GitHub.CopilotThe official route for the CLI on Windows 11.
winget install Microsoft.PowerShellCLI needs PowerShell 6+; Win 11 ships 5.1. Installs side by side.
winget install GitHub.CopilotAppThe desktop app with parallel worktrees.
npm install -g @github/copilotAlternative route. Needs Node 22 or later.
ignore-scripts=trueSilently yields a broken binary. Set npm_config_ignore_scripts=false first.
run it from pwshPowerShell 7 in Windows Terminal is the supported combination.

Windows paths

%USERPROFILE%\.copilotCLI config, personal agents, mcp-config.json.
%USERPROFILE%\.github\agentsVisual Studio's personal agents — a different folder from the CLI's.
COPILOT_HOMERelocates the CLI config directory.
WSL is a separate homeConfig set up in Windows is invisible inside WSL, and vice versa.
not in OneDriveA folder that syncs mid-write produces conflict copies of the open file.

Visual Studio versions

VS 2022 17.14+Minimum for agent mode. Below this there is no mode dropdown.
VS 2026 18.4+Required for custom agents. They do not exist in VS 2022 at all.
VS 2022 has @profiler onlyThe other built-in agents are VS 2026.
Enable Agent mode in the chat paneIf the mode dropdown is missing, check this option and your version.

Visual Studio agents & tools

@debuggerReproduces, instruments with tracepoints, validates against live runtime data.
@gitReviews uncommitted local changes inline and in Git Changes.
@profilerConnects to the profiler for real bottlenecks.
@testTests matching your framework and conventions.
@modernize.NET and C++ only. Assess, plan, then execute an upgrade.
Plan agentRead-only exploration, plan in .copilot/plans/, then Implement plan.
find_symbolLanguage-aware symbol navigation: C++, C#, Razor, TypeScript, any LSP.
get_symbol_call_hierarchyC++ call hierarchy. Needs the Desktop development with C++ workload.
get_symbol_class_hierarchyC++ class and type hierarchy navigation.

Visual Studio gotchas

terminal commands are not sandboxedEdits stay in the solution dir; shell commands run with VS's own permissions.
tool names differ per platformWhy a copied .agent.md does nothing. Check the Tools icon for real names.
description is required in VSVS Code treats it as optional; Visual Studio does not.
Ctrl+BreakCancels a runaway build.
Tools → Options → GitHub → CopilotEnable Planning; reset tool approvals under the Tools sub-section.
CSharpExpert · WinFormsExpertFrom awesome-copilot. WinForms one prevents .Designer.cs corruption.

Context for the agent

a personal work wikiPlain markdown in git: index.md, log.md, raw\ verbatim, wiki\ distilled.
the test for what belongsWould a competent new colleague have to ask someone? Then write it down.
never credentials in a wikiRecord where a secret lives, never the value. An agent will quote it back.
| ConvertTo-JsonPowerShell emits objects; JSON gives a model something it parses exactly.
pasting is the worst optionStale, truncated, unrepeatable. A command is live and re-runnable.
"use ourtool --help to learn it"Works well, and generalises to bespoke tooling no model has seen.
read-only credentialsMore reliable than instructing an agent not to delete things.

Files & frontmatter

the config layer

Instruction files

AGENTS.mdRead by every agent on every surface, and by other vendors' agents too.
.github/copilot-instructions.mdApplies to every Copilot chat request in the repository.
.github/instructions/*.instructions.mdApplies only when the applyTo glob matches files in context.
applyTo:Comma-separated globs. '**' applies to everything. The scoping mechanism.
CLAUDE.md · GEMINI.mdAlso read by Copilot — why AGENTS.md is the portable choice.
precedencePersonal beats repository beats organisation when rules conflict.
must be committedAn instructions file only on your machine helps exactly one person.

Prompt files

.github/prompts/<name>.prompt.mdA reusable task, run by typing /name in chat.
argument-hint:Guidance text shown to whoever runs the prompt.
agent:Which mode or custom agent runs it: ask, agent, plan, or a name.
${input:name} ${selection} ${file}Variables available inside a prompt file body.
#tool:<name>Reference a tool from the body of a prompt or agent file.

Skills

.github/skills/<name>/SKILL.mdA skill is a folder: instructions plus scripts, templates, references.
name:Lowercase, hyphenated, matching the directory name. Required.
description:The matcher. Must say what it does AND when to use it, or it never fires.
allowed-tools:Tools Copilot may use without asking each time.
under 500 linesProgressive disclosure: detail goes in references/, read only if it runs.
references/Bundled reference material, linked by relative path from SKILL.md.

Custom agents

.github/agents/<name>.agent.mdA persona with its own tools, model and instructions.
tools:Least privilege. An agent without an edit tool cannot edit — a real guarantee.
model:Pin the model per agent. String, or a prioritised array.
handoffs:Buttons that carry context into another agent. label, agent, prompt, send.
agents:Subagents this agent may delegate to.
user-invocable: falseHide from the picker so only other agents can call it.
chat.agentFilesLocationsAdditional directories to load agent files from.

Plugins — Agent Plugins 1.0

plugin.jsonThe manifest; $schema points at the Agent Plugins 1.0 standard.
skills/ · mcp.jsonThe portable half: skills and MCP configuration.
com.github.copilot/Client-specific: agents, commands, rules, hooks. Quarantined by design.
open standard, Aug 2026Maintained by AWS, Anysphere, Microsoft, OpenAI, Vercel and Google.
managed-settings.jsonBusiness/Enterprise control: enabledPlugins, extraKnownMarketplaces.

VS Code

agent mode

Running an agent

/autoApprove · /yoloTurn approvals off for the session. Pair with terminal sandboxing.
queue and steerSend a follow-up while it works; pending messages are reorderable.
hooksYour code at agent lifecycle events. Can block a command before it runs.
checkpointsRestore an earlier snapshot to revert a request.
fork from checkpointTry another approach while keeping the original conversation intact.
Explore subagentCodebase research on a cheap parallel model, off your context.
plan persistencePlans survive turns and compaction instead of being rebuilt.
/compact <guidance>Steer what is kept: '/compact forget all variants except the Rust one'.
large output to diskBig tool results are written to disk rather than filling the window.
code --agentsOpens the dedicated agent-first window for orchestrating across projects.

Authoring

/create-agentGenerate an agent from a description. Also /create-skill, -prompt, -hook.
skills as slash commandsTrigger a skill directly from chat, including extension-contributed ones.
agentic browser toolsExperimental: navigate, click, screenshot, verify changes in a browser.
Chat → DiagnosticsShows which instruction files loaded and where they came from.

Context & settings

#file #folder #codebaseHash-mentions add explicit context beyond the implicit active file.
chat.useNestedAgentsMdFilesExperimental: allow AGENTS.md files nested in subfolders.
chat.promptFilesLocationsExtra directories to load prompt files from.
…chat.organizationInstructions.enabledTurn on organisation-wide instructions shared across repositories.
…chat.reviewSelection.instructionsInstructions used when reviewing a selection. Text or a file path.
…chat.commitMessageGeneration.instructionsShape generated commit messages to house style.
chat.notifyWindowOnResponseReceivedOS notification when a response lands: off, windowNotFocused, always.
Settings SyncEnable 'Prompts and Instructions' to carry personal ones between machines.

GitHub

cloud & review

Cloud coding agent

assign from an issueAlso: the agents panel, VS Code, a @copilot PR comment, or an automation.
59-minute hard limitCannot be extended. Scope the task to something finishable.
one branch, one PROne coherent change per task, not a grab bag.
single repositoryIt cannot work across repositories. Split the task by repo.
ephemeral environmentRuns on GitHub Actions. Unscripted setup means it cannot run your tests.
bypass actorBranch protections can block it — add Copilot as a bypass actor first.
automationsRun the cloud agent on a schedule or on GitHub events, with write gates.
security campaignsAssign vulnerability fixes to the agent in bulk.

Code review

Lite effortDefault. Fast and targeted, roughly $0.05–$1 of credits.
Balanced effortHigher reasoning, ~$0.25–$5. For security-sensitive or cross-service work.
automatic reviewOn PR open, on leaving draft, or on new commits. Set per user, repo or org.
no model choiceReview uses a tuned mix deliberately, for consistency across reviews.
excluded filesDependency manifests, logs and SVGs are skipped.
not a gateGitHub: 'not guaranteed to spot all problems'. A first pass, not a last one.

Context services

Copilot memoryShared across the cloud agent, CLI and code review. Wrong facts persist too.
Copilot SpacesCurated context on github.com. Viewers only see sources they can access.
GitHub MCP serverPreconfigured in the CLI; also how the IDE reaches Spaces.
Copilot appGA 17 Jun 2026. Parallel worktrees, canvases, My Work, agent merge.

Models

mid-2026

The picker

GPT-5.5 generationOpenAI's frontier tier in the picker.
GPT-5.3-CodexOpenAI's coding-specialised model.
Claude Sonnet 5Anthropic's balanced tier.
Claude Opus 4.8Anthropic's strongest tier; a high premium multiplier.
Gemini 3.1 ProGoogle's frontier tier.
Gemini 3 FlashGoogle's fast, cheap tier.

Cost

premium multiplierFrontier models can cost up to 10× a request against a monthly quota.
included modelsSmaller models are included without consuming premium requests.
pin per agentDecide once in frontmatter: reviewer strong, scaffold cheap.
/usageCheck consumption before you wonder where the month went.

Don't

9 traps

Configuration

autocomplete-onlyPaying for five surfaces and using one. Write an AGENTS.md today.
the undocumented repoRe-explaining a convention weekly is a repo bug, not a model failure.
one giant instructions fileRules get diluted and ignored. Split by applyTo; keep always-on small.
vague skill descriptionsThe description is the matcher. Say when to use it or it never fires.
uncommitted instructionsHelps exactly one person. The point is that the repo teaches every agent.

Autonomy

vague cloud-agent taskAn hour spent on a plausible wrong PR. Specify scope and verification.
unscripted test setupThe agent writes code it physically cannot run, then stops.
auto-approve, no sandboxJust removing your brakes. Sandbox first, then stop approving.
frontier model on everythingQuota gone by the 10th on work a small model does identically.
docs.github.com/copilot · github.blog/changelog · code.visualstudio.com/docs/copilot · August 2026