Learn › Cursor Mastery: The AI-First Code Editor › Tab: Your Invisible Copilot

Tab: Your Invisible Copilot

Intermediate 🕐 12 min Lesson 3 of 13
What you'll learn
  • Understand how Cursor Tab predicts multi-line edits rather than just completing syntax
  • Accept full suggestions, word-by-word portions, or dismiss suggestions with one keystroke
  • Recognise the task types where Tab provides the most value

Tab Is Not Traditional Autocomplete

Every code editor has autocomplete — it suggests the next word or method name based on what you've typed. Cursor Tab is different. It predicts the next edit you intend to make, based on the code around your cursor and the recent changes you've made in the file.

Tab understands intent. If you rename a function parameter, Tab predicts where that parameter is used downstream and suggests updating those references. If you're writing a series of similar tests, Tab predicts the structure of the next test from the pattern of the ones before it. It's not completing syntax — it's completing thought.

How Tab Works

Tab is powered by cursor-small, a model built and optimised specifically for inline code predictions. It runs fast enough to show suggestions as you pause mid-typing. Its predictions appear as ghost text in grey — text that is visible but not yet in your file.

The model looks at three things to generate its suggestion: the code immediately surrounding your cursor, the recent edit history in the current file, and the overall structure of the file. It does not run a full codebase search for every keystroke — that would be too slow. For codebase-wide context, you use @codebase in Chat.

Accepting and Rejecting Suggestions

  • Tab — Accept the full suggestion and move to the end of it.
  • Cmd+→ (Ctrl+→ on Windows) — Accept the next word only. Press multiple times to accept word-by-word. Use this when you want part of a suggestion but not all of it.
  • Esc — Dismiss the suggestion entirely and keep typing.

If a suggestion appears but you keep typing, Cursor updates the suggestion in real time based on what you're adding. You don't have to dismiss before typing — just continue and the ghost text adjusts.

When Tab Shines

Tab is most valuable in these situations:

  • Repetitive patterns — Writing the third item in a series? Tab predicts it from the first two. This covers tests, switch cases, prop types, import lists, and any other structured repetition.
  • Propagating a change — You renamed a variable at the top of a function. Tab predicts the downstream references that also need updating.
  • Completing boilerplate — Starting a new React component, Express route, or class method? Tab fills in the structural shell so you can focus on the logic.
  • Test writing — Tab's most praised use case. It predicts entire test cases from your existing test patterns.

When to Ignore Tab

Tab is a suggestion, not a command. Dismiss it freely:

  • When you know exactly what you want to write — don't let Tab interrupt your flow.
  • When the suggestion is in the wrong direction — one Esc keypress costs nothing.
  • When you're writing security-sensitive code — always review what Tab generated before moving on.

Experienced Cursor users describe Tab as something they stop consciously thinking about after a few days. It runs in the background, and you accept it when it's right and ignore it when it isn't — like a good co-pilot who doesn't demand acknowledgement.

Key takeaways
  • Tab is Cursor's single biggest productivity gain for daily coding — it predicts intent, not just syntax
  • Use Cmd+→ to accept word-by-word when you want only part of a suggestion
  • Tab understands your recent edits — renaming something triggers predictions for the downstream references