The modes
In the last chapter you ran the loop once — describe, review, commit — to fix a one-line bug. You ran it in the Chat view without thinking about how much freedom Copilot had, because the task was so small it didn’t matter. The moment a task gets bigger, it matters a lot. The thing that controls it is the mode, and modes are the most distinctive thing about working in Copilot. If the CLI agents are defined by sessions and approvals, Copilot is defined by this: four named levels of latitude you switch between inside the same conversation.
This is the chapter that teaches the judgment the whole rest of the course rests on. Not buttons — judgment: given what’s in front of you, how much should you let the agent do before you look?
The four modes
Section titled “The four modes”You switch modes with a dropdown in the Chat view. Each is the same Copilot reading the same project; what changes is how far it’s allowed to go on its own:
- Ask — answers questions and explains code. Makes no changes to your files. The safe way to understand something before you touch it.
- Edit — you scope a set of files and describe a change; Copilot applies review-ready edits across exactly those files. You stay in tight control of where it works.
- Agent — autonomous. It plans, edits across however many files it decides are relevant, runs commands and tests, and self-corrects in a loop until the task is done. It applies its edits as it goes, surfacing risky terminal commands for your approval.
- Plan — produces a structured, step-by-step plan before any code is written, so you can review the approach before committing to it.
A detail that makes switching cheap: moving between modes mid-task carries your conversation and context forward into a fresh session. So the natural rhythm — ask to understand, then plan the approach, then let agent build it — isn’t three separate conversations. It’s one piece of work moving up the ladder of latitude as your confidence grows.
The work we’ll follow
Section titled “The work we’ll follow”This is also where the real assignment finally opens. Product wants: orders above a configurable threshold should require a second approver before they can be fulfilled. It sounds like one feature in orders-service. We’ll use the modes to discover that it isn’t — that the threshold check and the audit trail it needs live down in shared-lib, the library a dozen services share — and that this is going to be two pieces of work with very different risk profiles.
We’ll meet each mode on the part of the job it fits:
- Ask to understand the inherited approval and audit code before touching it — Ask · understand before you touch
- Edit to make a scoped, you-pick-the-files change — Edit · a scoped change
- Agent to hand off a whole multi-file task and let it run — Agent · hand off the whole task
- Plan to see the approach for the approval feature before a line is written — Plan · see the plan first
- And then the actual skill: matching the mode to what’s at stake — Switch · match the mode to the risk
By the end you won’t just know what the four modes do. You’ll have a feel for which one a task is asking for — which is the thing that separates someone who has Copilot installed from someone who’s good with it.