Pillar guide
Cursor Basics: Start Using Cursor on Real Code
Cursor is a code editor built on VS Code. It adds inline autocomplete, codebase chat and an agent that edits files and runs commands. Learning Cursor well means knowing when to use each surface and how to give it the right context.
On this page
What is Cursor?
Cursor is a fork of VS Code with coding help built into the editor. Your extensions, keybindings and themes carry over. Cursor adds autocomplete, codebase chat and an agent that can edit across files and run your terminal.
Do VS Code extensions work in Cursor?
Extensions are the wrinkle in that inheritance. Cursor installs them from the Open VSX registry rather than the VS Code Marketplace, so check the two or three you cannot work without before you move over.
How different is Cursor from a normal editor?
The shift from a normal editor is, to me, smaller than the demos suggest. You still open a folder, you still read code, you still commit, and you still decide what ships. What moves is where your attention goes. Less of it on typing each character, more on describing the change and then reading what came back.
Which is the half that gets skipped. Describing the work is easy and mildly fun; reading a diff you did not write is neither.
I suspect most people who bounce off Cursor in the first week never hit a model limitation at all. They hit the review step, decide that reading the change is slower than writing it themselves, and go back to typing. On a small edit in a file you know by heart, that is a fair call. It stops being fair once the change spans files you would have had to open and read anyway, and it is that second case where the time actually comes back.
This is covered hands-on in Cursor First Hour — 4 short modules, free to read.
What are the core ways to use Cursor?
Cursor gives you four ways to work, and most days you move between them. Tab finishes the line you're typing, Ask answers questions about your code, Agent takes on a task across files, and inline edit changes a selection in place. Each one suits a different size of job.
Multi-line, edit-aware suggestions as you type. Accept with Tab.
Ask questions about your codebase. Read-only. It explains without editing.
Describe a task; it edits files and runs commands, then shows diffs to approve.
Select code and request a focused, in-place change.
What modes does the Cursor agent have?
The agent side has grown through Cursor 3Cursor's agent-forward interface (also called the agent window or Glass), built to run and supervise many agents at once rather than edit one file. Press Enter for the full definition..x. The panel opens with ⌘CtrlI, and a mode picker (⌘., or ⇧⇥ to rotate) switches between Ask, Agent, Plan (which researches and writes an editable plan before any code changes) and Debug, which instruments your code and uses runtime evidence to find the root cause. Agents can also run in the cloud and be managed from your phone.
How do you choose which surface to use?
Choose on blast radiusHow much breaks if a change goes wrong; the scope of potential damage. Press Enter for the full definition. rather than on which surface is newest. Tab touches the line you are on; Agent can touch files you have never opened. Pick the smallest one that still does the job and the review afterwards stays small too.
Except that is not what happens. Agent is the most capable surface, so it becomes the default, and then a two-line fix arrives as a nine-file diff with a refactor nobody asked for. The work got done. The reading did not, and after the third time that happens people stop reading carefully at all. Which is the actual failure.
Getting this choice right is probably the first real beginner win. The guide below goes further, into Plan modeA mode that makes no edits: it researches the codebase and produces an editable plan you review before any code changes. Press Enter for the full definition. and into the ComposerCursor's own fast coding model, tuned for the editor and priced well below frontier models; the recommended day-to-day model for executing a plan. Press Enter for the full definition. naming that trips everyone up.
What order should I learn Cursor in?
Learn the surfaces in the order that builds review practice fastest: Tab first, then inline edit, then Ask, then Agent, with Plan modeA mode that makes no edits: it researches the codebase and produces an editable plan you review before any code changes. Press Enter for the full definition. once a task is big enough to be worth planning. Each step hands you a slightly bigger change to check.
Tab suggestions are a line or a few lines, so you judge them in a second, and you start learning what this model gets right about your code. Inline edit is the first time you find out whether the instruction you typed said what you meant, on a selection you are already looking at.
Ask is free to be wrong. It never edits anything.
Start at Agent and the first diff you ever read is a multi-file one. No baseline for what good looks like from this thing, and a lot of change to check at once. So people accept it. Something breaks two days later in a file they did not know had been touched, and the conclusion they draw is that the agent is unreliable. It might be. Nobody checked the diff, so there is no way to know.
None of that is a law. On a throwaway repo, go straight to Agent. There is nothing to break, and it is the fastest way to see what the product actually does. The order earns its keep on code you care about, where it keeps what you have to review smaller than what you will realistically read.
How do I give Cursor the right context?
Context is the set of files, docs and conventions Cursor can see when it answers. Point it at the exact thing instead of hoping it finds it. The three below work at different scales, and the third is not a feature at all.
- @-mentions pull specific @Files, @Folders, @Docs or @Web results into the prompt.
- Rules make
.cursor/rules/*.mdcfiles carry your conventions across chats. - Tight scope means fewer open tabs and a focused selection beat dumping the whole repo.
An @ mention is a claim that a file is relevant. Cursor's own guidance is narrower than people expect for that reason. Mention files when you already know they matter. Skip the mention when you do not, because Agent searches the codebase on its own anyway. Guessing at attachments in a repo you have not learned yet mostly adds noise, and noise looks exactly like context from the outside, so you cannot tell it is hurting.
The index is what does that searching. Cursor embeds your repo when you open the folder, semantic search switches on at 80% indexed, and after that it re-syncs every five minutes over changed files only.
A weak answer in the first minute after a fresh clone may just be a half-built index, so ask again before you conclude anything about the model. And anything matched by .gitignore or .cursorignore never gets indexed at all, which is the dull explanation for most 'why can't it see my file' reports.
Rules sit at the other end of the scale. They are .mdc files under .cursor/rules/, they load automatically, and every rule that applies spends context on that request. That last part is what people miss when they paste a whole style guide in there. Short and scoped beats thorough, I'd say, at least until you have watched the agent quietly ignore a long one.
A rule that says use our logger rather than console.log changes behaviour. A rule describing your philosophy of clean code mostly spends tokens.
Most "the AI is dumb" moments are missing context, not a weak model. Point Cursor at the exact files and state the constraint and quality jumps.
How should I review what Cursor changes?
Read the diff, and keep the task small enough that reading it is realistic. Agent applies its edits as it works rather than asking permission first, so what you are looking at is a change that already exists in your files. The diff view is where you decide whether it stays.
Rejecting is a normal outcome, not a failed prompt.
It took me a while to stop treating a rejected run as wasted work. What changed my mind is that even a bad run tells you which files the change touches, and the second attempt, with that written into the prompt, is usually much better than the first.
Scan the file list before you read a single hunk. A file you did not expect to see in there tells you more than any individual line will, and the list takes five seconds. Then the deletions. Those are the quiet ones. A removed guard clause reads like less code, and less code looks like progress.
Review time does not disappear because the writing got faster. Assume the model can be confidently wrong, and keep the diff at a size where being wrong stays cheap to catch.
What do beginners get wrong in Cursor?
Four mistakes account for most of the early frustration: treating mode and model as one dial, handing over the whole repo instead of the right file, judging a change by whether it runs rather than whether it is correct, and reaching for a bigger model before fixing the prompt.
Mode and model are separate choices. Mode decides which tools the agent may use, so Ask reads without writing and Plan produces a plan instead of code. The model decides which system does the reasoning. ComposerCursor's own fast coding model, tuned for the editor and priced well below frontier models; the recommended day-to-day model for executing a plan. Press Enter for the full definition. is the name that muddles this, because it sounds like a mode and you pick it from the model list.
The bigger-model reflex is the one I would push back on hardest. When an answer is wrong, the usual cause is that the thing it needed to see was not in front of it, and swapping models re-rolls the dice on the same bad input. Adding the file, or stating the constraint you left implicit, changes the input instead. Try that first. It costs less and it fixes more of what actually went wrong.
Then there is the prompt with no acceptance test in it. 'Make the login better' gives the agent nothing to aim at. Say what should be true when it is done, name the file if you know which one it is, and name the thing you do not want touched.
That last one is, I think, the cheapest sentence in the whole prompt.
What changes when a small team uses Cursor?
The main change is that conventions stop living in your head and start living in the repo. Rules are files under .cursor/rules/, so they get committed and reviewed like code, and a convention written down once applies to everyone's runs instead of being retyped in everyone's prompts.
On a team of three or four I would keep that set deliberately thin to begin with. One rule for the stack, one for the paths nothing should touch, and nothing more until you have seen the same problem show up in a diff twice. Rules written in advance encode what people believe their conventions are. Rules written after a bad diff encode what they actually are.
The second change is quieter. If everyone is producing more code, the extra volume lands in review, and a team can hand back in queue time a good part of what it gained in writing speed.
Nobody wants to hear that the answer is smaller pull requests. Granted, nobody wanted to hear it before any of this either.
In this guide
What's the difference between Ask, Agent and Composer in Cursor? Use this decision model to pick the right surface for the task.
Open guideStep-by-step: download and install Cursor on macOS, Windows or Linux, import your VS Code setup and sign in - so you're coding in a few minutes.
Open guideThe Cursor shortcuts worth memorizing - Tab to accept, inline edit, open chat, start the agent and add context - with the difference between each AI surface.
Open guideCustomize Cursor shortcuts with keybindings.json: when-clause syntax, how to discover context keys, the Cmd+R chord-leader change and copy-paste recipes.
Open guideWhat vibe coding is, who it fits, and how to do it in Cursor with Design Mode, MCP and Bugbot, plus the honest line between prototypes and production.
Open guideWhat Grok 4.5 is, how it differs from Composer, where it runs (and the EU gap), how effort levels work and what teams must enable before anyone can use it.
Open guideCursor Tab is AI autocomplete driven by your recent edits, surrounding code and linter errors. Accept, reject, jump between edits, or turn it off.
Open guideInline edit changes selected code without opening the chat panel. Select code, press Cmd+K or Ctrl+K, describe the change, and Cursor edits in place.
Open guideImport your VS Code settings, extensions, themes and keybindings into Cursor in one click, and what changes once you land.
Open guideOpen a folder, press Cmd+I, describe a change and review the diff. The four steps that take you from a fresh Cursor install to a reviewed edit.
Open guideType @ in the Cursor chat input to attach files, folders, docs, terminals, past chats, git diffs or the browser. What each one pulls in, and when to skip it.
Open guideSwitch Cursor to light or dark mode, follow your OS appearance, install theme extensions and change the editor font. Every step, with the Mac and Windows keys.
Open guideWhat Max Mode does, what a request really costs, and what the July 2026 model-picker change means for your plan, with the pricing math in plain English.
Open guideOpenAI's GPT-5.6 family in Cursor ships in three sizes: Luna, Terra, and Sol. How they differ in price and intelligence, and when to pick each.
Open guideWhat Claude Opus 5 changes over Opus 4.8 in Cursor: the per-token rates, the 300k/1M context rule, Fast mode, and why it is the Zero Data Retention option.
Open guideWhat Gemini 3.6 Flash costs in Cursor, how its 90% cached-input discount works, what its context limits actually are, and the work it is the right pick for.
Open guideCursor builds a semantic index of your repo so the agent can search it by meaning, not just text. Here's how indexing works and how to control it.
Open guideFrequently asked questions
Is Cursor just VS Code with AI?
It is a fork of VS Code, so it feels familiar and supports most extensions. Autocomplete, codebase chat and Agent are built into the editor.
Do I need to know how to code to use Cursor?
You can build small things with little coding knowledge, but results are safer when you can read and review the code. Cursor still needs your judgment.
What models does Cursor use?
Cursor routes to models from Anthropic (Claude), OpenAI (GPT) and Google (Gemini), plus its own first-party models: Composer 2.5, Grok 4.5 and the Auto router. Available models change often. Check Cursor's docs for the current list.
Where do I go when I'm stuck on a Cursor feature?
You can chat with the Cursor docs directly inside the product. Ask something like 'Is GitHub Enterprise supported?' and it searches the docs and answers using the same underlying models the agent uses. It's a fast self-serve fallback before you go hunting through pages by hand.
Should I start with Tab or with Agent?
Either works, but starting with Tab and inline edit gives you line-sized and selection-sized changes to judge before you have to review a multi-file diff. Agent edits across files and runs commands, so its output takes longer to check. Move up as your review gets faster.
Why can't Cursor find one of my files?
Usually the index. Cursor excludes anything matched by .gitignore or .cursorignore, along with binaries and very large files, and semantic search only becomes available once indexing reaches 80%. Check your ignore files first, then attach the file directly with an @ mention.
Sources & last verified
Cursor ships frequently. Last updated July 28, 2026.
Keep reading
Rather do it than read about it? Run 11 interactive Cursor walkthroughs in a simulated editor. Free, no account needed.