Cursor
Cursor is a coding agent wrapped in an editor. The editor is a fork of VS Code, so your extensions, keybindings, and settings carry over, but the core of the product is Agent: it searches your repository, plans and edits across files, runs commands, drives a browser, and reviews its own changes. The same agent is available as a terminal CLI (agent), as Cloud Agents that run in isolated environments, and as Bugbot for pull request review.
This page covers installation and the basics. For the full deep-dive (rules, agent modes, CLI, skills, subagents, hooks, MCP, plugins, cloud agents, parallel agents, Bugbot), see the Cursor section.
Installation
Download the desktop app from cursor.com/downloads (macOS 12+, Windows 10+, Linux via apt, yum, or AppImage). Import your VS Code settings and extensions on first launch.
Install the CLI separately:
curl https://cursor.com/install -fsS | bash
Windows (PowerShell):
irm 'https://cursor.com/install?win32=true' | iex
See Cursor CLI for authentication, flags, headless mode, and CI usage.
First steps
- Open a project folder and press
Cmd+Ito open Agent - Ask it to explain the codebase: "Explain this codebase. Point me to the main entry points and anything I should read before making changes."
- Ask for one small, safe change, review the diff, and run your project's checks
- Press
Shift+Tabto switch to Plan Mode for anything that spans multiple files
Agent modes
| Mode | Edits files? | Use it for |
|---|---|---|
| Agent | Yes | Default: end-to-end tasks with search, edits, terminal, and browser |
| Plan | Not until you approve | Research, clarifying questions, and an editable plan before code |
| Ask | No | Read-only exploration and explanation |
| Debug | Instrumentation first, then a fix | Root-causing bugs with hypotheses and runtime evidence |
| Design | Yes | Directing the agent visually from the built-in browser |
Details: Agent Modes.
Persistent instructions
Cursor reads several kinds of project instructions:
AGENTS.mdat the repo root (and nested in subdirectories): plain Markdown, the cross-tool standard, the simplest choice.cursor/rules/*.mdc: rules with YAML frontmatter (description,globs,alwaysApply) so they can attach automatically to matching files or be requested by the agent- User Rules in settings for personal preferences across all projects
- Team Rules managed from the dashboard on Teams and Enterprise plans
The older .cursorrules file still works but is deprecated. Details: Rules & AGENTS.md.
Skills, subagents, hooks, plugins, MCP
Cursor has native support for:
- Skills:
SKILL.mdfolders in.cursor/skills/or~/.cursor/skills/, invoked with/skill-nameor picked up automatically - Subagents: built-in (Explore, Bash, Browser) and custom agents in
.cursor/agents/*.md - Hooks:
hooks.jsonscripts that run at lifecycle events (before shell execution, after file edit, on stop, and more) - Plugins: marketplace bundles of rules, skills, MCP servers, subagents, and hooks
- MCP: external tools via
.cursor/mcp.jsonor~/.cursor/mcp.json
Editing shortcuts
| Shortcut | What it does |
|---|---|
Cmd+I | Open or toggle the Agent panel |
Cmd+K | Inline Edit on the current selection (or the terminal prompt bar) |
Cmd+L with a selection | Add the selection to a new chat |
Tab | Accept a Tab completion |
Shift+Tab | Rotate Agent modes |
Cmd+E | Toggle the Agent layout |
Full reference: Commands & Shortcuts.
Cursor vs. Copilot
| Cursor | Copilot | |
|---|---|---|
| Codebase search | Repository-wide (Instant Grep, Explore subagent) | Open files plus workspace search |
| Editor | Standalone (VS Code fork) | Plugin for existing editors |
| Multi-file agent edits | Yes (Agent, Plan Mode) | Yes (agent mode), less configurable |
| Instructions files | AGENTS.md, .cursor/rules/*.mdc | .github/copilot-instructions.md |
| Inline edit shortcut | Cmd+K | Ctrl+I |
| Terminal CLI | Yes (agent) | Yes (Copilot CLI) |
Tips
- Use Plan Mode for anything that touches more than a couple of files; approve the plan before code is written
- Keep
AGENTS.mdshort and concrete; move file-specific guidance into.cursor/rules/*.mdcwithglobs - Use
@to attach files, folders, terminals, past chats, and diffs rather than pasting code - Run several agents in parallel from the Agents Window with worktrees when tasks are independent
More: Tips.
Further reading
- Cursor deep-dive: all 16 pages
- Claude Code and Codex deep-dives for comparison
- Official Cursor documentation