Skip to content

Cursor cheatsheet

Lookup, not a tutorial. How-to: tutorial. Definitions: glossary.

Contents


Decision tables

Which surface

JobUseWhy
Finish the line / next editTabCheap, no agent turn
This selection or functionInline Edit Cmd+KSelection is the context
Questions onlyAskHarder to clobber files
Multi-file work, commandsAgentTool loop
Fuzzy, many filesPlanAlign first
Reproducible, cause unknownDebugRuntime evidence
PR reviewBugbotDiff, not your running app
Away / parallel / isolated VM + PRCloud AgentsFormerly Background Agents
Terminal or headless CICLI agentBinary is agent, not cursor
Point / draw / voice on the running UIDesign ModeAgents Window browser; Cmd+Shift+D
Host / mirror / browse the repoOriginGit forge; binary origin
PR security gate or cron scanSecurity Agents/review-security; team usage pool
Assign reviewers / approve low-risk PRsPR RoutingExact file APPROVAL_POLICY.md
Same agent inside your processSDK@cursor/sdk / cursor-sdk / Bridge

Rules vs Skills vs Commands vs Hooks vs MCP vs Subagents

JobPickWhy
Short constraint on every turnRulesIn the system prompt
Human-readable brief for several agentsAGENTS.mdNo frontmatter
On-demand multi-step workflowSkillsNot always in context
Prompt you type every dayCommandsExplicit /name
Script before/after a toolHooksNot the model's memory
External systemMCPTools protocol
Isolated context or parallel workSubagentsOwn window

New chat vs continue

SituationPick
New feature / moduleNew chat
Agent looping on the same mistakeNew chat + @Chats
Next iteration of the same featureContinue
Debugging what it just wroteContinue

Capability matrix

Moved from the Chinese overview (docs/zh/products/ai-coding/index.md). URLs updated to pages that resolved in August 2026. Bugbot's description is corrected to match official docs.

FeatureWhat it isOfficial docs
AGENTS.mdPlain-markdown project instructionsRules · AGENTS.md
Rules (.cursor/rules).mdc + glob / intelligent / manual / AlwaysRules
Commands.cursor/commands/*.md, / triggerCommands
SkillsSKILL.md packs; /migrate-to-skillsSkills
MCPExternal tools and dataMCP
HooksAgent / Tab / workspace lifecycle scriptsHooks
Sub-agentsIsolated delegates; built-in Explore / Bash / BrowserSubagents
BugbotPR review (bugs / security / quality); Autofix spawns CloudBugbot
Cloud AgentsIsolated VMs, PRs; formerly Background AgentsCloud Agent
Cursor CLITerminal agent; headless agent -pCLI · Installation
Design ModeVisual prompts in the Agents Window browserDesign Mode
OriginCursor git forge (early beta); Pro / Teams / EnterpriseOrigin
Security AgentsSecurity Reviewer (PR) + Vulnerability Scanner (cron)Security Agents
PR Routing & ApprovalRoute reviewers; approve low-risk PRsApproval
TypeScript SDK@cursor/sdk; local or cloud runtimeTS · Python · Bridge
ModesAgent / Ask / Plan / Debug. Cmd+.; Plan via Shift+TabOverview · Plan · Debug
TabMulti-line complete, jumps, TS/Python auto-importTab
ChatAgent thread; @ attaches contextPrompting
Codebase IndexingVector index; semantic search after ~80%Semantic search
@ Symbols@ files / folders / terminals / chats / git / browserPrompting
NotepadLegacy matrix row. Not listed on the 2026-08 Prompting page. Status unverifiedold mentions URL
Docs IntegrationCustom docs in context (legacy mentions capability)Prompting
Privacy ModeCode is not used for trainingPrivacy
Model SelectionCursor Models pool vs third-party poolModels & Pricing
IntegrationsGitHub / GitLab / Linear / SlackGitHub
Inline EditCmd+K on a selectionInline Edit
Reuse Existing CodeLegacy matrix row. Not in the 2026-08 nav. Status unverifiedreuse-existing-code
Long-running AgentsOfficial essayBlog
Self-driving CodebasesOfficial essayBlog

Used daily, not in the original matrix:

FeatureWhat it isOfficial docs
.cursorignoreBlocks index, Tab, Agent, Inline Edit, @Ignore files
.cursorindexingignoreIndex only; tools can still readsame
Keyboard shortcutsFull tableKeyboard Shortcuts

Term index

One sentence each. Longer definitions: glossary.

TermOne lineMore
RulesPersistent instructions at the start of contextGlossary
AGENTS.mdProject brief without metadataGlossary
SkillsOn-demand SKILL.md packsGlossary
Commands/ markdown workflowsGlossary
MCPExternal tools protocolGlossary
HooksLifecycle scriptsGlossary
SubagentsChild agents, own contextGlossary
ModesAgent / Ask / Plan / DebugGlossary
TabCompletion modelGlossary
BugbotPR reviewGlossary
CheckpointsSnapshots before big editsGlossary
Codebase IndexVectors for semantic searchGlossary
Privacy ModeNo training on your codeGlossary
Cloud AgentsAgents on remote VMs; formerly Background AgentsGlossary
CLI agentOfficial terminal entry; -p for headlessGlossary
Design ModeClick / draw / voice in the Agents Window browserGlossary
OriginCursor git forge; claim a codebase nameGlossary
Security AgentsPR reviewer + cron scanner; team poolGlossary
PR RoutingAssign reviewers; maybe auto-approveGlossary
SDKSame agent from @cursor/sdk / cursor-sdkGlossary

Keyboard shortcuts

From the official table. Full list: Cmd+R then Cmd+S (Windows/Linux: Ctrl+R then Ctrl+S), or Command Palette → Keyboard Shortcuts. Everything is remappable.

General

macOS / Windows·LinuxAction
Cmd+I / Ctrl+IToggle sidepanel (unless bound to a mode)
Cmd+L / Ctrl+LToggle sidepanel; selection → new chat
Cmd+E / Ctrl+EToggle Agent layout
Cmd+. / Ctrl+.Mode menu
Cmd+/ / Ctrl+/Cycle models
Cmd+Shift+J / Ctrl+Shift+JCursor settings
Cmd+Shift+Space / Ctrl+Shift+SpaceVoice
Cmd+, / Ctrl+,General settings
Cmd+Shift+P / Ctrl+Shift+PCommand palette

Chat / Agent

ShortcutAction
EnterDefault nudge; queues while Agent is working
Ctrl+EnterQueue
Cmd+Enter / Ctrl+Enter while typingForce send / inject now
Cmd+Shift+BackspaceCancel
Shift+Tab in the inputRotate Agent modes (including Plan)
Cmd+N / Cmd+RNew chat
Cmd+TNew chat tab
Cmd+[ / Cmd+]Prev / next chat
EscUnfocus

Inline Edit / Tab / terminal

ShortcutAction
Cmd+K / Ctrl+KInline Edit
Opt+Enter / Alt+EnterQuick Question
TabAccept Tab suggestion
Cmd+→ / Ctrl+→Accept next word
Cmd+K in the terminalTerminal prompt bar

The old stub called Cmd+Shift+K “inline chat” and treated Cmd+L only as “open AI chat”. This table wins.


Config

Where files live

PurposeProject (git)User
Rules.cursor/rules/*.mdcCustomize → Rules
AGENTS.mdRoot or subdirectory
Commands.cursor/commands/*.md~/.cursor/commands/
Skills.cursor/skills/<name>/SKILL.md or .agents/skills/~/.cursor/skills/, ~/.agents/skills/
Subagents.cursor/agents/~/.cursor/agents/
MCP.cursor/mcp.jsonCustomize / user MCP
Hooks.cursor/hooks.json~/.cursor/hooks.json
Bugbot notes.cursor/BUGBOT.mdDashboard team rules
Ignore.cursorignore, .cursorindexingignoreGlobal ignore in settings
Plans (saved to workspace).cursor/plans/Home directory by default
Cloud environment.cursor/environment.jsonDashboard Environments / Secrets
CLI config.cursor/cli.json~/.cursor/cli-config.json

Skills / subagents also load .claude/ and .codex/ trees. .cursor/ wins on name clash.

Rules frontmatter

alwaysApplydescriptionglobsBehavior
trueEvery session. Ignores the other two
falsesetAuto-attach when a matching file is in context
falsesetomittedAgent decides from the description
falseomittedomittedOnly when @-mentioned

Precedence: Team → Project → User. Merged; earlier source wins conflicts.

Ignore files

.cursorignore uses gitignore syntax. It blocks semantic search, Tab / Agent / Inline Edit reads, and @ mentions.

Official caveat: the terminal and MCP are not bound by .cursorignore. Ignore is not a crypto guarantee.

gitignore
.env
.env.*
**/*.pem
**/secrets.json
dist/

Index-only exclusion: .cursorindexingignore.

MCP stdio fields

FieldRequiredMeaning
typeyes"stdio"
commandyesOn PATH or an absolute path
argsnoArgument array
envnoEnvironment
envFilenoExtra env file

Interpolation: ${env:NAME}, ${userHome}, ${workspaceFolder}, ${workspaceFolderBasename}, ${pathSeparator} / ${/}.

Remote: url plus optional auth (CLIENT_ID / CLIENT_SECRET / scopes). Desktop redirect http://localhost:8787/callback. Web / Cloud Agents: https://www.cursor.com/agents/mcp/oauth/callback.

Hooks

Priority: Enterprise → Team → Project → User. All matching hooks run; conflicts merge toward the higher source.

Agent events: sessionStart / sessionEnd, preToolUse / postToolUse / postToolUseFailure, subagentStart / subagentStop, beforeShellExecution / afterShellExecution, beforeMCPExecution / afterMCPExecution, beforeReadFile / afterFileEdit, beforeSubmitPrompt, preCompact, stop, afterAgentResponse / afterAgentThought.

Tab: beforeTabFileRead / afterTabFileEdit. App: workspaceOpen.

Exit codes: 0 ok; 2 block (permission: "deny"); anything else fail-open unless failClosed: true.

Cloud agents: command-based project hooks only.

Skills frontmatter

FieldRequiredMeaning
nameyes[a-z0-9-]+, must match the parent folder
descriptionyesRelevance hint
pathsnoGlobs that gate surfacing
disable-model-invocationnotrue/name only
metadatanoArbitrary map

CLI agent

Sources: Installation, Overview, Headless, Using.

CommandMeaning
curl https://cursor.com/install -fsS | bashmacOS / Linux / WSL install
irm 'https://cursor.com/install?win32=true' | iexWindows PowerShell install
agent --versionVerify
agent / agent "…"Interactive
agent --mode=askRead-only
agent --mode=plan / --planPlan
agent -p "…"Headless; does not write files by default
agent -p --force "…"Headless and apply edits (--yolo alias)
& … in a sessionHand off to a Cloud Agent
agent ls / agent resume / agent --continueResume
agent updateManual update
agent --worktree "…"Edit in a separate git worktree

Script auth: CURSOR_API_KEY. Config: global ~/.cursor/cli-config.json, project .cursor/cli.json (Configuration).

Models and plans (summary)

Authoritative numbers: Models & Pricing (dynamic table).

  • Two pools: Cursor Models (Grok 4.6 / 4.5, Composer 2.5) and Other Models (third-party API rates)
  • Individual (pre-tax unless noted): Start (India only, ₹649/mo), Pro $20, Pro Plus $60, Ultra $200
  • Bugbot and Cloud Agents: Pro and up (Start excludes Bugbot)
  • Teams: Standard $40 / user / mo, Premium $120 / user / mo

Per-million token cells were not recoverable from the rendered docs page.


Common errors

SymptomCauseFix
.cursor/rules/foo.md does nothingRules ignore .md without frontmatterRename to .mdc or use AGENTS.md
Always rules blow the windowToo long / too manySplit; keep each under 500 lines; prefer globs
Cannot @ a file.cursorignore / .gitignoregit check-ignore -v
Empty semantic searchIndex below ~80%Settings → Indexing; check network
Plan still writes codeReported in the forumStop → Restore → “no edits until APPROVE”
Bugbot check is green, comments remainDefault neutralRead comments; enable fail-on-unresolved to block
Autofix missingNo on-demand usage or Legacy Privacy ModeOfficial requirements
Hook missing in CloudUser-level or type: promptProject .cursor/hooks.json, command hook
agent: command not found~/.local/bin not on PATHOfficial Installation PATH step
agent -p did not edit filesHeadless proposes onlyAdd --force / --yolo
Cloud run never startsSCM not connected or free planAdmin connects SCM; official Troubleshooting
MCP will not startcommand not on PATH / missing envCustomize logs; interpolate secrets
Tab pollutes markdownExtension not disabledStatus bar → disable for that extension

Templates

Project AGENTS.md

markdown
# Agent notes

- Package manager: pnpm. Never npm / yarn.
- Checks: `pnpm typecheck`, `pnpm test`.
- Canonical component: `src/components/Button.tsx`.

hooks.json (official stop-loop skeleton)

json
{
  "version": 1,
  "hooks": {
    "stop": [
      { "command": "bun run .cursor/hooks/grind.ts" }
    ]
  }
}

grind.ts reads JSON from stdin and writes JSON to stdout. Official blog fields: conversation_id, status (completed | aborted | error), loop_count. Return { "followup_message": "..." } to continue. Default loop_limit is 5.

.cursor/BUGBOT.md

markdown
# Bugbot

- Amounts are integer cents.
- Copy issues are not bugs unless they change control flow.

Sources

Last systematic check: 2026-08-18. Discovery method: repo sources/_template.md.

Official docs

Chinese locale: prefix /cn/, e.g. cn/docs/rules.

Official long-form

Official / core social

  • @cursor_ai — product account (footer on cursor.com → X)
    • Layer: product
    • Last verified: 2026-08-18

Company / founder personal accounts are not listed until an official page or staff post names them.

Team blog

GitHub

  • There is no official public source repo for the Cursor IDE. Do not label third-party mirrors as official.
  • GLips/Figma-Context-MCP — community Figma MCP cited by the old stub. Install from that README.
    • Last verified: 2026-08-18 (repo exists)

Aggregators

  • cursor.directory — community rules / MCP. Not Anysphere.
    • Last verified: 2026-08-18

Third-party / community

Unverified

  • Whether Notepad is still a first-class feature
  • Whether https://cursor.com/docs/reuse-existing-code still resolves
  • Founder / engineer X accounts with first-party proof
  • Whether @modelcontextprotocol/server-filesystem is still the example package to name in docs (JSON above is a field demo)

Built for frontend engineers · Powered by VitePress