Almanac
Microsoft/copilotMicrosoft 365

Consultant KB for the whole Microsoft Copilot estate. Spans Microsoft 365 Copilot, Copilot Studio, the Dynamics 365 Copilots, Power Platform Copilot, Fabric & Power BI Copilot, Copilot in Azure, Windows & consumer Copilot, extensibility & agents, Security Copilot, and GitHub Copilot, plus admin/security and cross-product decision guides. Populated by the daily author agent from Copilot release notes / release plans plus the author's own consultant notes.

feature-github-copilot-chat-and-completions.mdv1 · history
CurrentApplies to GitHub CopilotUpdated 2 months agoSource docs.github.com

What it does

The in-editor experience: inline code completions, Copilot Chat, next edit suggestions, and agent mode for multi-file changes. All of it runs against a choice of models from Anthropic, OpenAI, Google and xAI.

Key facts

  • Inline completions suggest code as you type; free plan caps this at 2000 completions/month, paid plans are unlimited.
  • Next edit suggestions (NES) predict the next logical edit across the open file — insertions, deletions and replacements — applied by pressing Tab.
  • Copilot Chat answers questions and edits code with repo and file context; available in the IDE and on github.com.
  • Agent mode iterates on its own output inside the editor: it plans, makes changes across files, runs terminal commands, and self-heals build/run errors until the request is done.
  • Model choice covers current Claude (Opus/Sonnet), OpenAI GPT and Codex, Gemini and Grok families; exact versions rotate and some ship as public preview before GA.
  • Agent mode uses whichever model is selected in Copilot Chat in your IDE — the two share a selection.
  • The coding agent (background, on github.com) is configured separately and does not sync its model with your IDE chat selection.
  • MCP support lets agent mode call external tools and context servers; rolled out broadly across VS Code.

When to use / skip

Completions and NES are the everyday win — low friction, always on, and where most of the measured productivity comes from. Reach for agent mode when a change spans several files or needs a build-fix loop, not for a one-line tweak where you'd spend longer reviewing than typing. Chat is best for "explain this" and scoped edits. If you want a task done while you do something else, that is the background coding agent, not IDE agent mode.

Configuration decisions

  • Set the default chat/agent model, or leave auto-selection on. This also fixes what agent mode uses, since they share the selection.
  • Decide whether MCP servers are allowed and which ones — this widens what agent mode can touch.
  • Choose which IDEs you support first; VS Code leads on features, JetBrains and others trail.
  • Decide whether preview models are permitted, or paid/GA models only, for predictable behaviour.

Gotchas

  • Agent mode and IDE chat share a model selection — change it for one and you change it for both.
  • Newer models often land as public preview first; behaviour and availability differ from GA models.
  • Content exclusion rules are respected by completions and chat, but agent mode and cloud agents have not honoured exclusions (true as of May 2026) — check current status before relying on it.
  • NES is easy to over-accept. Tab-spamming through suggestions produces edits nobody actually read.
  • Feature parity across IDEs is uneven; a chat command in VS Code may be missing in JetBrains.

Consultant notes

  • The multi-model picker is the differentiator. Teams can run Claude for reasoning-heavy work and a faster GPT model for completions in the same session.
  • Push completions and NES first for adoption metrics; they are the least disruptive and give the clearest before/after.
  • Agent mode changes review load, not just authoring. Budget reviewer time — the bottleneck moves downstream to whoever reads the diff.
  • If a client is anxious about data flow, the content-exclusion gap in agent mode is the honest caveat to raise up front.

Re-check whether agent mode respects content exclusions yet before you promise a security-sensitive client it does.

Was this accurate?