2.3.1. Agent Mode, Edit Mode, and Plan Mode Compared
💡 First Principle: These three modes sit at different points on the autonomy ladder. Edit Mode = you steer multi-file edits. Plan Mode = Copilot proposes the strategy. Agent Mode = Copilot executes end-to-end with approvals. Choosing among them is choosing how much control to delegate.
All three operate beyond a single line, which is exactly why they get confused. The distinctions:
| Mode | What it does | Autonomy | Best for |
|---|---|---|---|
| Edit Mode | Applies natural-language edits across a set of files you specify | Low — you direct each turn | Targeted, known multi-file changes |
| Plan Mode | Drafts a step-by-step plan before execution | Medium — you approve the plan | Complex tasks where approach matters |
| Agent Mode | Plans, edits across files, runs commands, fixes its own errors, iterates | High — you set the goal, approve actions/results | Open-ended, multi-step tasks |
A worked example clarifies the choice. Task: "add rate limiting to the public API and update the affected tests."
- In Edit Mode, you'd point Copilot at the relevant handler and test files and direct the edits.
- In Plan Mode, Copilot first lists the steps (add middleware, apply to routes, update tests) for your approval.
- In Agent Mode, Copilot discovers the handlers itself, applies the changes, updates and runs the tests, and iterates on failures — pausing for your approval on actions.
📝 Note: Distinct from all three is the cloud coding agent (GA since late 2025): it runs asynchronously outside the IDE — you assign it a GitHub issue, it works on a branch and opens a draft PR. Agent Mode runs inside an active IDE session. The exam may contrast "in the editor" versus "assign an issue and come back later."
⚠️ Exam Trap: "Newer is not always better." For a precise, known edit to two files, Edit Mode is the right, controlled choice. Agent Mode for a trivial change is wasteful and harder to review.
Reflection Question: Given a task whose scope you don't fully know yet, which mode lets you see Copilot's intended approach before any code changes, and how does that differ from Agent Mode's behavior?