Skip to content

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?

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.

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:

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.