Tool Guide · Coding
Windsurf Guide
The definitive guide to Codeium's AI-native IDE — Cascade agent, Supercomplete, MCP, sandboxes, memory, model picker, self-hosting, and how it really compares to Cursor.
Key takeaways
- 1Cascade — autonomous multi-file agent with plan + execute + run + iterate loop
- 2Supercomplete — multi-line autocomplete tuned by Codeium's models
- 3Tab to Jump — predictive cursor jumps across files based on edit intent
- 4Inline command (Cmd-I / Ctrl-I) for quick targeted edits without full Cascade
- 5Live preview pane — see rendered web output alongside code as you edit
- 6Cascade Memory — persists project context across sessions, no re-priming
- 7Model picker — Claude Sonnet/Opus, GPT-5, Gemini 2.5 Pro, Codeium SWE models
- 8MCP support — plug in databases, GitHub, Linear, custom tools
- 9Sandboxed terminal — Cascade's command execution is gate-able per workspace
- 10.windsurf/rules.md — declarative project conventions Cascade auto-reads
- 11Self-hosting (Enterprise) — full stack runs in your VPC for regulated industries
- 12VS Code extension marketplace compatibility (98%+ of common extensions work)
Best for
- Agent-first workflows where you delegate multi-step changes
- Web developers — the live preview pane is a real productivity unlock
- Solo devs and small teams — free tier is the most generous in the category
- Enterprises needing self-hosted AI coding (HIPAA, SOC 2, air-gapped)
- Engineers coming from VS Code who want native shortcut parity
- Multi-language repos — Cascade handles polyglot codebases well
- Teams that need a managed, supported product (not a CLI to operate)
Not for
- Engineers committed to non-VS Code editors (Vim, Emacs, JetBrains, Sublime)
- Pure CLI / terminal-driven workflows — Claude Code or Aider fit better
- Lightweight one-line edits — built-in autocomplete in any editor is faster
- Anyone who refuses to install a VS Code fork (use Continue inside VS Code instead)
- Maximum-bleeding-edge users — Windsurf updates often lag VS Code main
What it is
Windsurf is an AI-native code editor from Codeium — a fork of VS Code wrapped around Cascade, an autonomous in-editor agent that plans, edits, runs, and iterates without leaving the IDE. It's Cursor's primary competitor, with similar VS Code DNA but different bets on what matters: stronger agent autonomy, more generous free tier, live preview for web, and self-hosting for enterprise.
If you want an editor that feels like VS Code but has an AI engineer pair-programming with you, Windsurf is one of two serious choices in 2026 (the other being Cursor). Pair it with Claude Code in the terminal and you've got the strongest two-tool setup for modern coding work.
When to reach for Windsurf
- You want agent-driven multi-file changes inside your editor — not a separate CLI
- You're building web apps and want live preview alongside the editor
- You're on a tight budget — the free tier covers real daily use
- You need self-hosted AI coding (HIPAA, SOC 2, air-gapped) — Cursor doesn't offer this
- You like the VS Code keymap and don't want to relearn an editor
- You're a small team or solo dev — Cascade's project memory cuts re-priming friction
Don't reach for Windsurf if:
- You live in Vim, Emacs, JetBrains, or Sublime — Continue (in VS Code) or Aider (terminal) fit better
- You want a pure terminal workflow — Claude Code or Aider are right
- You want maximum-polish and biggest-community — Cursor wins on both
Setup
Install
Download from windsurf.com. Available for macOS, Linux (deb/rpm/AppImage), and Windows.
First-launch flow
- Sign in with Google or GitHub.
- Pick your default Cascade model — Claude Sonnet 4.6 is the safe default for most work.
- Import your VS Code settings if you're switching (Windsurf detects them automatically).
- Install your usual extensions from the marketplace.
Project rules
Drop a .windsurf/rules.md file at the root of your repo. Cascade reads it automatically as ambient context. Cover:
# Project rules
## Stack
- Next.js 15 (app router)
- TypeScript strict mode
- Tailwind CSS 3
- Vitest for tests
## Conventions
- Components in /components, pages in /app
- File names: kebab-case for routes, PascalCase for React components
- Always pair UI changes with a story update (Storybook)
- No `any` — use `unknown` and narrow
## Commands
- Tests: npm test
- Build: npm run build
- Lint: npm run lint --fix
This 30-line file dramatically improves Cascade's first-attempt accuracy.
Cascade tool permissions
Cascade can run terminal commands. Lock that down per workspace:
- Settings → Cascade → Tool execution
- Auto-approve: read-only commands (ls, cat, grep)
- Prompt: write commands (npm install, git, file edits)
- Block: destructive commands (rm -rf, git push --force, db drops)
For team workspaces, push these settings into a checked-in .windsurf/settings.json so everyone gets the same guardrails.
MCP servers
Add MCP servers in .windsurf/mcp.json (same schema as Claude Code's mcp.json). Common picks:
- GitHub MCP — for PR / issue / release management
- Postgres MCP — for safe DB queries in dev
- Linear MCP — to file/triage tickets from the editor
- Sentry MCP — to pull and triage live errors
Once installed, Cascade can call these tools mid-task without leaving the IDE.
The Cascade loop
Open Cascade with Cmd-L (Mac) or Ctrl-L (Windows/Linux). Type a task. Cascade:
- Plans — outputs a numbered plan (you can interrupt or revise here).
- Edits — applies changes file by file, each surfacing as an in-editor diff.
- Runs — executes test/build commands as configured, sees the output.
- Iterates — fixes failures and retries until success criteria are met.
You can:
- Accept all — bulk-accept the proposed changes
- Accept per-file — review and accept one file at a time
- Reject + retry — give Cascade more guidance and rerun
- Pause — stop the loop, edit manually, then continue
This loop is the killer feature. Cursor has a similar loop ("Composer"); Cascade's edge in 2026 is fewer "lost the plot" failures on multi-file tasks.
Supercomplete + Tab to Jump
Inline AI that doesn't require invoking Cascade:
- Supercomplete — multi-line autocomplete tuned by Codeium's SWE models. Trigger as you type; accept with Tab.
- Tab to Jump — after an edit, Cascade predicts where you'll edit next and the Tab key jumps your cursor there. Works across files. Saves a surprising amount of navigation friction once you trust it.
Both run on Codeium's models by default — fast and free, no API spend.
Inline command (Cmd-I)
For quick targeted edits without firing up the full Cascade agent: select code, hit Cmd-I, describe the change. Cascade rewrites the selection in place. Best for:
- Convert this class component to hooks
- Add JSDoc comments to these functions
- Refactor this for-loop into a map/filter pipeline
- Translate this Python snippet to TypeScript
Faster than Cascade for one-off tweaks; doesn't load the whole project context.
Live preview
For web projects (Next.js, Vite, Astro, etc.), Windsurf shows a rendered preview pane alongside the editor. Hot-reload as you edit. Cursor doesn't ship this natively — for visual web work, it's a real productivity unlock.
The preview understands routes, components, and dev server output. Cascade can also navigate the preview mid-task — "go to /pricing and verify the CTA renders" works.
Cascade Memory
Cascade persists project context across sessions:
- Files it's already read recently (skip re-reading them)
- Conventions it's learned (from rules.md and past corrections)
- Decisions you've made ("we agreed to use this pattern for forms")
You can inspect, edit, or wipe the memory from the Cascade panel. For privacy-sensitive projects, you can also disable memory per workspace.
Model picker
Per-workspace, per-mode model selection:
- Autocomplete / Tab to Jump — Codeium SWE models (free, fast)
- Cascade agent — Claude Sonnet (default), Claude Opus, GPT-5, Gemini 2.5 Pro, Codeium frontier
- Inline command — same picker
You're not locked in. If Claude has a bad day or you want to A/B GPT vs Sonnet on a specific task, switch in one click.
Pricing reality
- Free — Supercomplete + Tab to Jump unlimited, Cascade with a daily quota. Genuinely usable for solo work.
- Pro ($15/mo) — higher Cascade limits, more frontier-model usage, larger context windows.
- Teams — admin controls, billing rollups, shared settings.
- Enterprise — self-hosted deployment, SSO, audit logging, custom model endpoints.
For solo: Free is real. For daily heavy use: Pro is the right line. For team/enterprise: book a demo (pricing isn't public for those tiers).
Comparison: Windsurf vs Cursor vs Claude Code
| Dimension | Windsurf | Cursor | Claude Code |
|---|---|---|---|
| Home | VS Code fork (IDE) | VS Code fork (IDE) | Terminal CLI |
| Agent | Cascade (strong) | Composer (strong) | Claude Code agent (strongest) |
| Autocomplete | Supercomplete (free) | Cursor Tab (free, limited) | None (use editor's) |
| Live preview | Built-in (web) | Via extensions | N/A |
| Memory across sessions | Yes (Cascade Memory) | Project rules + .cursorrules | CLAUDE.md files |
| MCP support | Yes | Yes | Yes (most mature) |
| Self-hosting | Yes (Enterprise) | No | No (self-host the editor only) |
| Free tier | Most generous | Limited | None (subscription only) |
| Community size | Mid | Largest | Mid (growing fast) |
| Best for | Agent-first editor work | Editor-time autocomplete + agent | Long-running terminal automations |
Most engineers in 2026 use two of these. Common pairings:
- Cursor + Claude Code (most popular)
- Windsurf + Claude Code (best for budget-conscious or self-host)
- Just Cursor (simplest, most polished, costs more long-term)
Honest limitations
- No live token meter. Cost forecasting is harder than Claude Code's
/cost. Watch your monthly bill until you've calibrated. - Smaller plugin community. Most things work; the long tail of niche VS Code extensions sometimes doesn't.
- A few Microsoft extensions need alternates. Pylance → Pyright, Remote Containers → devcontainer CLI, a couple of language servers. Not painful, just a one-time fix.
- Cascade can over-edit on vague prompts. Invest in
.windsurf/rules.mdand use plan-first prompts for anything non-trivial. - UI polish lags Cursor in a few places. Real, but minor. Both ship fast.
- No personal/team self-host. Self-hosting is Enterprise-only. Sole proprietors who want local-only AI should look at Continue with a local model.
Workflow patterns that work
-
.windsurf/rules.mdfirst, code second. Spend 15 minutes writing project rules before your first Cascade run on a new repo. Pays off immediately. -
Plan-first for anything non-trivial. Use "Plan only — wait for my approval" in your Cascade prompt. Same discipline as Claude Code's plan mode; same payoff.
-
Cascade for multi-file, Cmd-I for single-spot edits. Don't fire up Cascade for a one-line tweak; use inline command.
-
Live preview + Cascade for web work. "Verify this renders correctly at /pricing" is a Cascade command that uses the preview.
-
Switch models on tough tasks. Default Sonnet; flip to Opus on hard refactors or perf debugging.
-
Memory hygiene per project. If you redirect Cascade ("no, we don't do it that way here"), make sure that lands in rules.md so it survives memory clears.
Security & privacy
- Code is sent to Codeium and your chosen model provider during AI calls. Read the privacy policy if your repo is sensitive.
- Free and Pro tiers send to Codeium-hosted models by default.
- Enterprise self-host keeps everything in your VPC — no data leaves.
- You can disable training-data usage in account settings (default-off for paid tiers).
- Sandbox Cascade's terminal access per workspace; never let it run unscoped on a host with prod credentials.
When to walk away
- You don't want a VS Code fork — use Continue inside official VS Code, or Cursor's CLI tools.
- You want a non-VS Code editor — Aider (terminal), Claude Code (terminal), Zed AI (Zed-only).
- You want zero internet exposure — only Enterprise self-host gives you that; otherwise look at local-model setups (Continue + Ollama).
- You're a JetBrains shop — neither Windsurf nor Cursor really fits; check Cursor IDE Plus or JetBrains AI Assistant.
Next steps
- Install Windsurf and import your VS Code settings.
- Write a
.windsurf/rules.mdfor your current project. - Run your first Cascade task with "plan first" — see how it scopes the work.
- Pair Windsurf with Claude Code for terminal automations.
- For enterprise needs, book a demo for the self-host story.
Pros and cons
Pros
- Cascade is genuinely the most reliable in-editor agent on the market
- Free tier covers most solo daily use — rare in 2026
- Live preview is a standout for web work — Cursor doesn't match it
- Memory across sessions means less re-priming the agent every morning
- Self-hosting story for enterprise is real (most competitors can't)
- Model picker means you're not locked into one provider's economics
- Tab to Jump cuts navigation friction in big repos
Cons
- Smaller community than Cursor — fewer config recipes and YouTube tutorials
- A handful of Microsoft-owned VS Code extensions (Pylance, Remote Containers) need open-source alternatives
- UI polish lags Cursor in a few places — minor friction, not deal-breakers
- Cascade can over-edit on vague prompts — invest in good .windsurf/rules.md
- Cost forecasting is harder than Claude Code's /cost — no live token meter inside the editor
- Self-hosting is Enterprise-only — no community/team self-host tier
Real workflows using this tool
Prompt examples
Copy any of these, replace the placeholders, run.
Cascade — feature from scratch
Add a /changelog page to this Next.js site.
Source: GitHub releases for this repo (use gh CLI in the integrated terminal).
Show the last 10 releases as cards with date, title, and body (markdown rendered).
Reuse the layout primitives from /about (Container, PageHeader, surface cards).
Add a link in the footer Site column.
Run npm run build when done; fix any TypeScript or lint errors.Cascade — plan-first migration
Migrate this repo from JavaScript to TypeScript.
Before any edits:
1. Inventory every .js and .jsx file. Group by directory.
2. Identify any modules that depend on JS-only runtime tricks (Object.assign-as-spread, etc.).
3. Output a per-directory migration plan with risk flags.
4. Wait for my approval before starting.
Once approved, work directory by directory. After each directory, run tsc and the test suite. Stop if either fails.Inline Cmd-I — quick refactor
Convert this class component to a functional one with hooks.
Preserve the public props API and callback names exactly. Move lifecycle methods to useEffect with the same dependency semantics. Keep the file path and exported name unchanged.Cascade — bug investigation
Investigate why {{symptom}}.
Do not propose a fix yet. Use the terminal to reproduce. Report:
- Reproduction steps that work in this repo
- Where in the code the symptom likely originates (file:line)
- Top 3 hypotheses, most-likely first
- A one-line test for each hypothesis
I'll pick which to pursue.Cascade — test coverage sweep
Identify modules with zero or shallow test coverage in src/. Skip generated files and types-only files.
For each module under the bar:
1. Generate a minimal smoke test (happy path + one edge case)
2. Run the suite to confirm it passes
3. Commit per-module (one test, one commit)
Don't modify production code. Just add tests.Cascade — install MCP + use it
Add the GitHub MCP server to my Windsurf MCP config. Use the token in ~/.config/gh/hosts.yml.
Then, using the GitHub MCP:
1. List my open PRs across all repos
2. For each, summarize the latest CI status + review feedback
3. Output a triaged checklist of what needs my attention this morningAlternatives
Frequently asked questions
Watch
Hand-picked videos from official + trusted channels. Opens in a new tab.
Related on AIKnowHub
Tool Guide
Claude Code Guide
The definitive guide to Anthropic's terminal-native AI coding agent — install, configure, MCP, hooks, skills, sub-agents, plan mode, cost, security, limitations.
Tool Guide
Cursor AI Guide
The most popular AI-native IDE. A VS Code fork with deep model integration, multi-file edits, and a strong agent loop.
Comparison
Best AI Model for Coding
Which model actually writes the best code? Benchmarked against real tasks — refactors, bug fixes, new features, code review.
Directory
Claude Code
Terminal-native agent that reads, writes, runs, and reviews your codebase.
Directory
Cursor
AI-native VS Code fork with multi-model support, tab autocomplete, and an agent mode.
Concept
AI Agents Explained
Agents are LLMs that can take actions in a loop. Here's what that actually means, where they shine, and where they fall over.