GUIDES Apr 21, 2026 8 min read

Windsurf Getting Started: Installation, Setup, and First Project

TL;DR Windsurf is a fork of VS Code with built-in AI agent capabilities (Cascade) — free tier available. Installation takes under 5 minutes on macOS, Linux, or Windows. Import VS…

by Bugi 8 min
TL;DR

  • Windsurf is a fork of VS Code with built-in AI agent capabilities (Cascade) — free tier available.
  • Installation takes under 5 minutes on macOS, Linux, or Windows. Import VS Code extensions and settings in one click.
  • Cascade operates in two modes: Chat for questions, Write for autonomous multi-file edits.
Windsurf · quick reference
Vendor
Codeium
Latest version
latest
Pricing
Free · Pro $15/mo · Team $35/mo
Platforms
macOS, Linux, Windows
Base
VS Code (fork)

Overview

Windsurf is an AI-native code editor built by Codeium. It forks VS Code and adds Cascade — an agentic AI assistant that can read your codebase, edit multiple files, run terminal commands, and iterate on errors autonomously. Unlike bolt-on extensions, Cascade is integrated at the editor level with full context awareness.

This guide covers installation, initial configuration, importing your existing setup, and running your first Cascade session. You’ll have a working Windsurf environment in under 10 minutes.

Prerequisites

  • OS: macOS 10.15+, Windows 10+, or Linux (Ubuntu 20.04+, Fedora 36+, Arch)
  • RAM: 8 GB minimum, 16 GB recommended
  • Disk: ~500 MB for the editor plus extensions
  • Account: Free Codeium account (sign up during first launch)
  • Optional: Existing VS Code installation (for settings import)

No API keys required for the free tier. Pro and Team plans unlock higher usage limits and additional model access.

Step 1: Download and Install

1
Download the installer
Go to windsurf.com and grab the installer for your platform.
2
Run the installer
macOS: drag to Applications. Windows: run .exe. Linux: install .deb or extract .tar.gz.
3
Launch and authenticate
Open Windsurf and sign in with your Codeium account.

macOS (Homebrew):

brew install --cask windsurf

Linux (Debian/Ubuntu):

# Download the .deb from windsurf.com, then:
sudo dpkg -i windsurf_*.deb
sudo apt-get install -f

Windows: Run the downloaded .exe installer. Default path is C:\Users\<you>\AppData\Local\Programs\Windsurf.

On first launch, Windsurf opens a welcome tab and prompts you to sign in or create a Codeium account.

Step 2: Import VS Code Settings

If you’re migrating from VS Code, Windsurf can import your extensions, keybindings, and settings in one step.

  1. Open the Command Palette: + Shift + P (macOS) or Ctrl + Shift + P (Windows/Linux)
  2. Type Import VS Code Settings
  3. Select the profile to import

Windsurf uses the Open VSX registry by default but supports most VS Code extensions. Extensions relying on proprietary Microsoft APIs (Live Share, Remote SSH) may not be available — check the marketplace before switching fully.

Tip
Keep VS Code installed alongside Windsurf during the transition. You can open the same workspace in both editors without conflicts.

Step 3: Open a Project and Launch Cascade

Open a project folder via File > Open Folder or from the terminal:

windsurf ~/projects/my-app

The Cascade panel lives on the right side of the editor. Open it with + L (macOS) or Ctrl + L (Windows/Linux).

Cascade offers two primary modes:

  • Chat mode — Ask questions about your codebase. Cascade reads relevant files and provides answers with file references.
  • Write mode — Give Cascade a task. It plans the changes, edits files, runs commands, and iterates until done.

Toggle between modes using the dropdown at the top of the Cascade panel.

Step 4: Your First Cascade Session

Try a simple task to see Cascade in action. In Write mode, type:

Create a basic Express server with a /health endpoint that returns { status: "ok" }

Cascade will:
1. Check if package.json exists; if not, run npm init -y
2. Install Express
3. Create the server file
4. Optionally run the server and verify the endpoint

You’ll see each step in the Cascade panel with diffs for file changes. Accept or reject individual edits before they’re saved.

Note
Cascade requests permission before running terminal commands. You can auto-approve specific commands in settings.

Step 5: Configure Cascade Rules

Windsurf supports project-level AI rules via a .windsurfrules file in your project root. This file shapes how Cascade behaves for your specific codebase.

# .windsurfrules

- Use TypeScript strict mode for all new files
- Prefer functional components with hooks over class components
- Run `npm run lint` after making changes
- Never modify files in the /generated directory

Place this file at the project root. Cascade reads it automatically on each interaction. Use it to enforce coding standards, prevent unwanted modifications, and guide Cascade toward your team’s conventions.

Step 6: Explore Key Features

Autocomplete (Tab): Windsurf provides inline completions as you type. Press Tab to accept, Esc to dismiss.

Cmd+K inline edits: Select code, press + K, and describe the change. Cascade edits the selection in-place.

Multi-file context: Cascade automatically indexes your project. Use @ mentions in the chat to reference specific files, folders, or symbols:

@src/auth/login.ts refactor the token validation to use jose instead of jsonwebtoken

Terminal integration: Cascade can read terminal output. If a build fails, type “fix this error” and Cascade picks up the terminal context.

Tips and Best Practices

  • Be specific in prompts. “Add input validation to the signup form using zod” produces better results than “improve the form.”
  • Use .windsurfrules early. Define conventions before Cascade writes code you’ll need to refactor later.
  • Review diffs carefully. Accept edits file-by-file. Cascade sometimes modifies files outside the intended scope.
  • Leverage @ mentions. Pointing Cascade to specific files reduces hallucination and speeds up responses.
  • Check free tier limits. The free plan includes limited Cascade interactions per month. Monitor usage in the account panel to avoid hitting walls mid-session.
Takeaway

Start with small, well-scoped tasks to build trust in Cascade’s output, then increase scope as you learn its patterns.

Troubleshooting Common Issues

Cascade not indexing files: Large monorepos may take time to index. Check the status bar for indexing progress. Add large generated directories to .windsurfignore.

Extensions missing after import: Some VS Code extensions aren’t on Open VSX. Search the Windsurf marketplace for alternatives, or install .vsix files manually.

Slow completions: Disable other AI extensions (GitHub Copilot, Codeium VS Code extension) to avoid conflicts. Only one AI completion provider should be active.

Warning
Running multiple AI completion providers simultaneously causes duplicate suggestions and performance degradation.

FAQ

Is Windsurf free to use?
Yes. Windsurf offers a free tier with limited Cascade interactions per month. Pro costs $15/mo and Team costs $35/mo for higher limits and additional features like team-shared rules and admin controls.
Can I use my existing VS Code extensions in Windsurf?
Most extensions work since Windsurf is a VS Code fork. It uses the Open VSX registry by default. Extensions dependent on proprietary Microsoft APIs (Remote SSH, Live Share) are not available. You can sideload .vsix files for extensions not in the marketplace.
What’s the difference between Cascade Chat and Write modes?
Chat mode answers questions and explains code without making changes. Write mode autonomously edits files, runs terminal commands, and iterates until the task is complete. Both have full codebase context.
Does Windsurf send my code to external servers?
Cascade sends code context to Codeium’s servers for AI processing. Enterprise plans offer on-premise deployment. The free and Pro tiers process requests through Codeium’s cloud infrastructure. Review their privacy policy for data retention details.
How do I control what Cascade can access in my project?
Use a .windsurfignore file (same syntax as .gitignore) to exclude files from indexing. Use .windsurfrules to instruct Cascade not to modify specific directories. Terminal command execution always requires approval unless you configure auto-approve rules.
Can I use Windsurf with local or self-hosted models?
Windsurf does not currently support custom model endpoints on the free or Pro tiers. The Team and Enterprise plans offer model selection options. For local model usage, consider alternative editors that support OpenAI-compatible endpoints.
How does Windsurf compare to Cursor?
Both are VS Code forks with AI integration. Windsurf’s Cascade emphasizes autonomous multi-step workflows. Cursor focuses on fast inline edits and chat. Windsurf’s free tier is more generous. Cursor offers more model choice on paid plans. Both support codebase-aware context.
Is Windsurf free to use?
Yes. Windsurf offers a free tier with limited Cascade interactions per month. Pro costs $15/mo and Team costs $35/mo for higher limits and additional features like team-shared rules and admin controls.
Can I use my existing VS Code extensions in Windsurf?
Most extensions work since Windsurf is a VS Code fork. It uses the Open VSX registry by default. Extensions dependent on proprietary Microsoft APIs (Remote SSH, Live Share) are not available. You can sideload .vsix files for extensions not in the marketplace.
What’s the difference between Cascade Chat and Write modes?
Chat mode answers questions and explains code without making changes. Write mode autonomously edits files, runs terminal commands, and iterates until the task is complete. Both have full codebase context.
Does Windsurf send my code to external servers?
Cascade sends code context to Codeium’s servers for AI processing. Enterprise plans offer on-premise deployment. The free and Pro tiers process requests through Codeium’s cloud infrastructure. Review their privacy policy for data retention details.
How do I control what Cascade can access in my project?
Use a .windsurfignore file (same syntax as .gitignore) to exclude files from indexing. Use .windsurfrules to instruct Cascade not to modify specific directories. Terminal command execution always requires approval unless you configure auto-approve rules.
Can I use Windsurf with local or self-hosted models?
Windsurf does not currently support custom model endpoints on the free or Pro tiers. The Team and Enterprise plans offer model selection options. For local model usage, consider alternative editors that support OpenAI-compatible endpoints.
How does Windsurf compare to Cursor?
Both are VS Code forks with AI integration. Windsurf’s Cascade emphasizes autonomous multi-step workflows. Cursor focuses on fast inline edits and chat. Windsurf’s free tier is more generous. Cursor offers more model choice on paid plans. Both support codebase-aware context.