Installation and Platform Setup
You have spent years fine-tuning your VS Code setup — keybindings, extensions, themes, snippets. The last thing you want is to start from scratch in a new editor. The good news: Cursor is a fork of VS Code. Your muscle memory, your extensions, and your settings all transfer in about two minutes. The bad news: installation still has a few platform-specific landmines that can waste an hour if you hit them unprepared.
What You’ll Walk Away With
Section titled “What You’ll Walk Away With”- Cursor installed and running on your platform with no security warnings or permission issues
- All your VS Code settings, extensions, and keybindings imported automatically
- The
cursorshell command working from any terminal - A verified installation where AI chat responds to prompts and codebase indexing has started
Platform Installation
Section titled “Platform Installation”Option 1: Homebrew (Recommended)
Section titled “Option 1: Homebrew (Recommended)”brew install --cask cursorThis handles code signing and quarantine flags automatically.
Option 2: Direct Download
Section titled “Option 2: Direct Download”- Download from cursor.com/download
- Open the
.dmgfile - Drag Cursor to Applications
Fixing Security Warnings
Section titled “Fixing Security Warnings”If macOS says “Cursor is damaged and can’t be opened”:
xattr -cr /Applications/Cursor.appIf you see “Cursor cannot be opened because the developer cannot be verified”:
- Open System Settings then Privacy and Security
- Scroll to “Security” and click Open Anyway
- Enter your password when prompted
Option 1: winget (Recommended)
Section titled “Option 1: winget (Recommended)”winget install Anysphere.CursorOption 2: Direct Installer
Section titled “Option 2: Direct Installer”- Download from cursor.com/download
- Run
Cursor-Setup.exe - Follow the installer — Cursor installs to
%LOCALAPPDATA%\Programs\cursor
Add to PATH
Section titled “Add to PATH”Open Cursor, press Ctrl+Shift+P, and run Install ‘cursor’ command in PATH. Restart your terminal afterward.
Windows Defender
Section titled “Windows Defender”If installation hangs or Cursor is slow on first launch, add an exclusion:
- Open Windows Security
- Go to Virus and Threat Protection then Manage Settings
- Under Exclusions, add the Cursor installation folder
AppImage Installation
Section titled “AppImage Installation”# Download the AppImagecurl -L https://cursor.com/download/linux-x64 -o cursor.AppImagechmod +x cursor.AppImage
# Install libfuse2 if needed (required for AppImage)# Ubuntu/Debian:sudo apt install libfuse2# Fedora:sudo dnf install fuse# Arch:sudo pacman -S fuse2
# Move to a permanent locationsudo mv cursor.AppImage /opt/cursor.AppImagesudo ln -s /opt/cursor.AppImage /usr/local/bin/cursorCreate Desktop Entry
Section titled “Create Desktop Entry”cat > ~/.local/share/applications/cursor.desktop << 'EOF'[Desktop Entry]Name=CursorExec=/opt/cursor.AppImage --no-sandbox %FTerminal=falseType=ApplicationIcon=cursorStartupWMClass=CursorCategories=Development;IDE;EOFGPU Issues
Section titled “GPU Issues”If you see rendering glitches or a blank window:
cursor --disable-gpuVS Code Migration
Section titled “VS Code Migration”Cursor can import everything from VS Code in a single step. This is the fastest path to feeling at home.
-
Open Cursor Settings
Press
Cmd+Shift+J(macOS) orCtrl+Shift+J(Windows/Linux). -
Go to General then Account
Look for the VS Code import section.
-
Click “Import from VS Code”
Cursor detects and imports:
- All installed extensions
- User settings (
settings.json) - Keyboard shortcuts (
keybindings.json) - Snippets
- Theme selections
-
Restart Cursor
The import takes effect after a restart.
Manual Migration Fallback
Section titled “Manual Migration Fallback”If automatic import fails (rare, but it happens with non-standard VS Code installations):
# Copy settingscp ~/.config/Code/User/settings.json ~/.config/Cursor/User/cp ~/.config/Code/User/keybindings.json ~/.config/Cursor/User/cp -r ~/.config/Code/User/snippets ~/.config/Cursor/User/copy %APPDATA%\Code\User\settings.json %APPDATA%\Cursor\User\copy %APPDATA%\Code\User\keybindings.json %APPDATA%\Cursor\User\xcopy %APPDATA%\Code\User\snippets %APPDATA%\Cursor\User\snippets /E /IShell Command Setup
Section titled “Shell Command Setup”Being able to type cursor . in any terminal is essential for the workflows in this guide.
- Open Cursor
- Press
Cmd+Shift+P(macOS) orCtrl+Shift+P(Windows/Linux) - Type Install ‘cursor’ command in PATH and select it
- Optionally, also run Install ‘code’ command in PATH for VS Code compatibility
- Restart your terminal
Verify it works:
cursor --versioncursor . # Opens current directory in CursorOpen Your Project and Start Indexing
Section titled “Open Your Project and Start Indexing”Open a real project — not an empty folder. Cursor needs files to index.
cd ~/projects/your-real-projectcursor .When Cursor opens, it immediately begins indexing your codebase. This creates semantic embeddings that the AI uses to find relevant code when you ask questions or request changes.
Monitor Indexing
Section titled “Monitor Indexing”- Open Settings:
Cmd+Shift+J/Ctrl+Shift+J - Navigate to Indexing and Docs
- Watch the progress bar — small projects finish in under a minute, large monorepos can take 10-15 minutes
Verify Your Installation
Section titled “Verify Your Installation”Run through this quick checklist to make sure everything is working before moving to configuration:
| Check | How | Expected Result |
|---|---|---|
| Terminal commands | Open terminal with Ctrl+` and type node --version | v18.x or higher |
| Git integration | Type git status in the terminal | Shows your repo status |
| AI chat | Press Cmd+I / Ctrl+I and type “Hello” | AI responds in the chat panel |
| File explorer | Check the sidebar | Your project files are visible |
| Extensions | Open Extensions panel (Cmd+Shift+X) | Your VS Code extensions appear |
When This Breaks
Section titled “When This Breaks”“Cursor is damaged” on macOS: Run xattr -cr /Applications/Cursor.app and try again.
Extensions not loading after migration: Clear the extension cache at ~/.config/Cursor/CachedExtensionVSIXs (macOS/Linux) or %APPDATA%\Cursor\CachedExtensionVSIXs (Windows) and restart.
AI chat shows “Rate limit exceeded”: You are on the free tier and have used your daily allocation. Either wait for the reset or upgrade to Cursor Pro.
Indexing stuck at 0%: Check that your project is not entirely in .gitignore patterns. Cursor respects .cursorignore if it exists — make sure you have not accidentally excluded everything.
cursor command not found on Linux: The AppImage does not auto-register shell commands. The symlink in the installation section (ln -s /opt/cursor.AppImage /usr/local/bin/cursor) handles this.