Skip to content
Period 4 / 11

Three Modes: Tab, Cmd-K, and Agent

Highlight a function, ask Cmd-K to rename it, and it forgets the three other files that call it. Not because Cmd-K is broken. Because Cmd-K's whole job is staying inside the file you invoked it from, and a rename that has to follow call sites elsewhere in the project was never a job that mode does. That's the gap Agent mode exists to close, and it's the actual difference this lesson names.

You've already used two of Cursor's three modes. In the last lesson, Tab finished a line before you typed it, and Cmd-K rewrote a selection you'd highlighted by hand. Neither of those felt like the reframe from lesson one. Nothing to review looked like a pull request, because nothing you triggered touched more than the file already open in front of you.

Agent mode is where that changes. This lesson closes out the map-the-territory part of the course by naming what's actually different between the three, not just what each one is called.

Same product, three different blast radii

Tab, Cmd-K, and Agent aren't three skins on one feature. They differ in scope, how much of the project they can see and touch, and in blast radius: how much damage a wrong answer can do before you notice.

Scope and blast radius across Cursor's three modes

Tab operates at cursor position: one insertion, one location, accepted or dismissed in under a second. Cmd-K operates on a selection or a plain-English instruction, but stays inside the file you invoked it from, and shows you a single inline diff before anything lands. Agent (also labeled Composer in Cursor's UI depending on version) can read files you never opened, decide which ones need to change, and edit several of them in one turn. That's the mode where the lesson-one reframe stops being a slogan and starts being the literal shape of the review in front of you: not one suggestion, a changeset.

Picking a mode: start narrow, escalate only if the task needs it

The order below is the point, not just the content. Each step is what you try before reaching for the next, and skipping straight to Agent for a one-line fix is how a two-second Tab accept turns into a five-minute diff review for no reason.

Try Tab first for anything at the cursor

If you're mid-line and the next few tokens are predictable from what's already on screen or in the file, Tab is the right tool. It's the lowest-risk mode because there's nothing to plan and almost nothing to review; you read one suggestion and take it or don't.

Reach for Cmd-K when the change is scoped but not trivial

Once the edit needs an instruction longer than "finish this line" (rename this function and its call sites in this file, rewrite this block to use the new signature), but you can still point at where it happens, Cmd-K's inline diff is the right amount of ceremony. You get a single reviewable diff instead of typing the whole change by hand.

Escalate to Agent only when the task crosses files

If the change needs Cursor to find things you haven't opened yet, or to touch more than one file to stay consistent, that's the signal to open Agent/Composer. It's the most capable mode and also the one with the largest blast radius, so it's the one to reach for last, not first.

The one comparison this course makes

How this differs from Claude Code, briefly

Claude Code, Anthropic's terminal-native agent, works from an ambient model: it reads the whole repo it's pointed at and carries durable context forward through a persistent Plan Mode and a CLAUDE.md file, so a session accumulates context across turns without you re-declaring scope each time. Cursor's three modes are the opposite design: scope is explicit and per-request, chosen by which mode you invoke and, for Cmd-K, by what you've selected. Neither model is better in the abstract, and they aren't interchangeable. This course sticks to Cursor's model; this is the only place that comparison gets made, and both descriptions above reflect each tool's documented default behavior as of this course's writing, not a permanent guarantee, since both products change their defaults between releases.

Checkpoint

Quick check — You need to rename a widely-used function and update every file that calls it. Which mode fits?
Continue to Lesson 04

Agent mode is only as good as the context it starts each turn with. Next: .cursor/rules as the mechanism that stops it from relearning your project every session.

Have a question about this lesson?

Reply here and it goes straight to Rod. Same as replying to one of his emails.