Heidelberg AICurriculum
Track 13 · Advanced
13.2.6

Devin Desktop (formerly Windsurf)

AI-native IDE whose agent codes whole tasks alongside you

7 lessons 2026-08-06 AI-generated

1Overview

A VS Code fork rebuilt around Cascade as an agent 'command center' rather than a single autocomplete feature — since 2026's rename from Windsurf, old bookmarks to windsurf.com redirect straight to its new home at devin.ai.

Devin Desktop (formerly Windsurf) is an AI-native code editor (built on VS Code) whose centrepiece is Cascade — an autonomous agent that reads your whole project, plans changes across multiple files, runs terminal commands, and iterates until the code works. Unlike Copilot, which completes single lines, Cascade handles whole tasks. → Cognition renamed Windsurf to Devin Desktop in 2026; existing installs updated over the air, plans and settings carried over.

1.2After this chapter you can
Hand Cascade a whole task and let it plan, write, and run the change
Revert any agent change in one click with checkpoint snapshots
Know Windsurf was renamed to Devin Desktop in 2026 (same product, new name)
1.3Best for

Handing off a whole task in plain English — "parse this BLAST output and plot an e-value histogram" — rather than completing one line at a time.

1.4Watch out

Free Cascade quota runs dry in 2–3 days of real use. Cognition (maker of Devin) owns the product now, having renamed it from Windsurf in 2026.

1.5Free vs paid

Free plan: unlimited Tab autocomplete + a light Cascade quota. Pro $20/mo; Max $200/mo for heavy users.

2Lessons 7

2.1 Create a new API endpoint using Cascade

Cascade is Devin Desktop’s AI agent that can read your whole project, plan coordinated edits across files and run terminal commands for you.

Add a new /status API endpoint by letting Cascade generate and apply all required code changes

Cascade in Plan mode asking which messaging feature to add, with checkbox options.
  1. 1 Commit to the answers Cascade plans against what you ticked
  2. 2 The mode it is in planning first, editing after

Best viewed on desktop — tap Enlarge to read the numbered controls.

  1. Open the workspace containing the target project in Devin Desktop
  2. Press Ctrl+L (or click the Cascade icon) to open the Cascade panel, then choose New Task and type a concise description such as “Create a /status API that returns JSON with app version”
  3. Review the plan shown in the Cascade chat pane and click Accept to let the agent modify the codebase
  4. When Cascade finishes, open the integrated Terminal and run the project’s test command (e.g. npm test or python manage.py test)
  5. If the tests pass, commit the changes with a brief message
  • You'll see New source files appear in the Explorer, the test suite runs without failures, and calling /status returns the expected JSON
  • Takeaway AI agents can orchestrate coordinated code changes across an entire codebase
  • Check Which sequence of actions lets you create a new API endpoint using Cascade without leaving Devin Desktop?

2.2 Generate a new utility module with Cascade

Cascade is Devin Desktop’s AI agent that can create and edit code across your whole project.

You will have a new Python file containing a reusable utility function added to your workspace.

  1. Open Devin Desktop and press Ctrl+L (or Cmd+L) to open the Cascade panel.
  2. In the Cascade input box, type: “Create a new file utils.py with a function slugify(text: str) -> str that lower‑cases the string, replaces spaces with hyphens, and removes non‑alphanumeric characters.”
  3. Select the model you want from the dropdown below the input box.
  4. Press Enter and wait for Cascade to propose the file creation; click Accept to insert the code.
  • You'll see A new file named utils.py appears in the Explorer with the fully implemented slugify function.
  • Takeaway Cascade can scaffold whole files from a single natural‑language request, saving you manual boilerplate work.

2.3 Fix a code error with Explain and Fix

Explain and Fix is a context‑menu feature that sends highlighted errors to Cascade for analysis and automatic correction.

Repair a failing line of code directly from the editor

  1. Right‑click the red‑underlined error region and select Explain and Fix
  2. In the side panel, click Apply Suggested Fix
  3. Save the file with Ctrl+S or the Save button
  4. Run the build or script again using the integrated Terminal
  • You'll see The error marker disappears, the corrected code is displayed, and the project builds successfully
  • Takeaway Contextual AI assistance can quickly diagnose and repair issues without leaving the editor
  • Check Which steps allow you to fix a highlighted compile error using Explain and Fix inside Devin Desktop?

2.4 Queue multiple Cascade commands for sequential execution

Queued messages let you line up several Cascade instructions while it finishes a current task.

You will have added a test file and updated the README in one uninterrupted workflow.

  1. With Cascade still open, type: “Add a pytest file tests/test_utils.py that imports slugify from utils and includes two basic test cases.”
  2. Press Enter; while Cascade is generating the test file, type the next command in the same input box: “Update README.md to include an example usage of slugify.”
  3. Press Enter again; the second message appears in the queue below the first.
  4. When the first task finishes, click Send for the queued message or press Enter on an empty box to let it run automatically.
  • You'll see First, tests/test_utils.py is created with the requested tests; then README.md is modified to show the example snippet.
  • Takeaway Queued messages let you orchestrate multi‑step changes without waiting for each step to finish manually.

2.5 Add custom filters and bulk actions to Django admin

Cascade can generate Django‑admin customisations such as list filters and bulk actions from natural‑language prompts.

Add date‑range and status filters plus a “Mark as shipped” bulk action to the Order model in Django admin

  1. Open the project folder in Devin Desktop and ensure the development server is stopped
  2. Press Ctrl+L (or click the Cascade icon), choose New Task, and enter a prompt describing the desired filters and bulk action
  3. Review Cascade’s plan, then click Accept so it updates admin.py and any related files
  4. If prompted, run python manage.py makemigrations followed by python manage.py migrate in the Terminal
  5. Start the development server with python manage.py runserver
  • You'll see The Orders list page shows new date‑range and status filter widgets, and selecting rows enables a “Mark as shipped” bulk action that updates the shipped flag
  • Takeaway Natural‑language prompts let you extend framework admin interfaces automatically
  • Check How do you use Cascade to add custom filters and a bulk action to a Django admin model without manually editing files?

2.6 Create a named checkpoint and revert to it

A checkpoint is a snapshot of your project state that you can return to later.

You will be able to roll back the recent changes made by Cascade with a single action.

  1. In the Cascade conversation, click the Create Checkpoint button (or type “/checkpoint create initial‑utils”) and confirm.
  2. Make an additional change: ask Cascade to rename slugify to make_slug in utils.py.
  3. After the rename is applied, hover over the original checkpoint entry in the Cascade sidebar and click the Revert arrow.
  4. Confirm the revert when prompted.
  • You'll see The project returns to the state where the function was named slugify; the rename disappears from utils.py.
  • Takeaway Checkpoints give you a safety net for experimental AI edits, enabling quick undo of complex changes.

2.7 Use Cascade’s planning feature to manage a multi‑file refactor

Cascade can maintain a Todo list and long‑term plan for extended tasks.

You will complete a refactor that moves the slugify function to a new package, updating all imports automatically.

  1. Start a new conversation with Cascade and say: “Refactor the project to move slugify into a new package called textutils. Create the package, move the function, and update every import.”
  2. When Cascade displays a Todo list, review it and type “Add step: run tests after moving files” then press Enter.
  3. Allow Cascade to execute the plan; if it pauses for clarification, click Continue.
  4. After the refactor finishes, ask Cascade to “Run pytest in the terminal” and accept the tool‑call to execute the command.
  5. When test results appear, type “Mark task complete” to close the Todo entry.
  • You'll see A new folder textutils contains the function, all source files import it from the new location, and the test suite passes with no errors.
  • Takeaway Cascade’s planning and Todo system lets you break down complex refactors into manageable steps while keeping the AI aligned with your overall goal.

3You’ll know it worked 5 checkable outcomes in this chapter

  • Admin list shows date-range and status filters, and bulk action 'mark as shipped' updates selected orders
  • Sales reps see new contact actions appear instantly in the feed without refreshing
  • A clean CSV file appears in the folder and the console shows a success message
  • The project files return exactly to their state at the selected checkpoint
  • The numbers shown on devin.ai/pricing match the plan descriptions in this lesson

4FAQ, Tips & How-to 27

one problem, one solution, one action

Internal tools & ops1

How-to Windsurf Operations +1

Want to filter orders and mark many as shipped

Operations staff can filter and bulk-update orders directly in Django admin without a custom internal tool build.

~12 min · low code AI-generated

CRM & sales1

How-to Windsurf Founder +1

Never know a contact acted until you refresh

Sales reps see contact activity in real time without manually refreshing the page, catching follow-up moments they previously missed.

~12 min · low code AI-generated
How-to Windsurf Everyone

Need to assign an entire project in plain English

The Cascade panel lets you give the agent a natural-language description of an entire task, not just a single file

**Cascade** is Devin Desktop's agent panel: open any folder, type a whole task in plain English, and it reads your project, writes the code, and shows you the edits to accept. Credit: docs.devin.ai ↗
The **Free** plan ($0/month) includes unlimited Tab completions, unlimited inline edits, and a light agent quota — enough to follow this course, though heavy agent use exhausts it in ~2–3 real coding days. Lesson → AI-generated
How-to Windsurf Everyone

Task description is vague

Providing a clear English task lets Cascade generate, explain, and run code automatically

Lesson → AI-generated
How-to Windsurf Everyone

Need to check auto‑generated script before using it

You retain control by reviewing the generated script and its explanations before applying them

Lesson → AI-generated
How-to Windsurf Everyone

Want the generated script to run on its own

If Python is installed, Cascade can run the script and show its output without manual steps

Lesson → AI-generated
How-to Windsurf Everyone

Need to specify exact script edit

Guides Cascade to edit the exact part you want without ambiguity

Cascade is a conversation, not a one-shot: it asks clarifying questions and offers options mid-task, so you **refine the plan together** before it writes code. Credit: docs.devin.ai ↗
Tab completions and inline edits are unlimited and free on every plan; each Cascade task draws on your agent quota, so batch related changes to make them count. Lesson → AI-generated
How-to Windsurf Everyone

Need to change a few things at once

Allows Cascade to apply multiple small changes together, saving quota and keeping context

Lesson → AI-generated
How-to Windsurf Everyone

You can pause and resume work without losing prior state, treating Cascade like a teammate

Lesson → AI-generated
How-to Windsurf Everyone

Need to make lots of edits but keep quota low

Reduces agent quota consumption by grouping related modifications

Lesson → AI-generated
How-to Windsurf Everyone

Need code suggestions that don’t eat your usage

You can insert suggested code instantly with Tab, and it never counts against your agent quota

**Windsurf Tab** is the free, unlimited autocomplete: as you type it suggests the next lines (press Tab to accept), with extras like Supercomplete and Tab-to-Jump — none of it touching your agent quota (screenshot shows pre-rename Windsurf branding). Credit: docs.devin.ai ↗
Both Tab completions and inline edits are **unlimited and free on every plan**, so this is the cheapest way to make small changes. Lesson → AI-generated
How-to Windsurf Everyone

Want to change a piece of code right where it is

You can modify a specific piece of code directly in place, and the edit is unlimited and free

Lesson → AI-generated
How-to Windsurf Everyone

All the errors listed in the editor

You can hand all listed problems from the editor directly to Cascade, letting it propose fixes across relevant files without manual copying

**Explain and Fix**: select an error in the editor and Cascade explains what went wrong and proposes a fix right there — no need to copy the message out. Credit: docs.devin.ai/desktop/cascade/cascade ↗
Reading and explaining errors happens inside a normal Cascade task, so it draws on your agent quota like any other task; the Free plan covers light use. Lesson → AI-generated
How-to Windsurf Everyone

Can’t tell why a line throws an error

A single error can be explained and automatically fixed right in the editor, saving you from describing it yourself

Lesson → AI-generated
How-to Windsurf Everyone

Review each suggestion before accepting

You retain control by reviewing each suggestion before accepting, ensuring only correct fixes are applied

Lesson → AI-generated
How-to Windsurf Everyone

Want to change several related files in one go

Providing a multi-file request lets Cascade edit several related files in one coordinated run

Cascade edits a file, notices it introduced **5 new lint errors**, and with **Auto-fix on** clears them itself before finishing the task. Credit: docs.devin.ai/desktop/cascade/cascade ↗
Auto-fix happens inside the same Cascade task, so it uses your agent quota rather than adding a separate charge. Lesson → AI-generated
How-to Windsurf Everyone

Need to undo a change

You can undo any change made by the agent with a single click

Hover any earlier step and click the revert arrow to roll the whole conversation’s changes back to that point. Credit: docs.devin.ai (Devin Desktop/Cascade documentation)
Reverting to a checkpoint costs nothing — it's a local snapshot, not a new agent task. Lesson → AI-generated
How-to Windsurf Everyone

Trying risky agent tasks

You can try aggressive agent tasks, then roll back if the result isn't satisfactory

Lesson → AI-generated
How-to Windsurf Everyone

You can always confirm current tier costs and quota limits on the official pricing page

Lesson → AI-generated
How-to Everyone

Need an AI that can plan and run multi‑step tasks

It plans and executes multi-step tasks instead of just completing the current line

~10 min · low code Official docs - Cascade overview ↗ Lesson → AI-generated
How-to Everyone

Can’t copy an error message from the editor

Fix an error without copying the message out of the editor

FAQ Windsurf Everyone

Does Devin Desktop (formerly Windsurf) connect to external tools like GitHub, databases, or Slack?

Yes. Cascade natively supports the Model Context Protocol (MCP), which lets it connect to outside tools and services such as GitHub for repository and file management, PostgreSQL for database access with schema inspection, Slack, Brave Search, filesystem access, and a persistent memory store. The easiest way to add one is the MCP marketplace: click the MCPs icon at the top of the Cascade panel, browse, and select Install on the server you want. You can also configure servers manually by editing the mcp_config.json file and supplying the required arguments and tokens. On Enterprise, admins can whitelist approved MCP servers for the whole team.

devin.ai ↗ AI-generated
FAQ Windsurf Everyone

How does Devin Desktop (formerly Windsurf) compare to Cursor?

Both are AI-native editors built on VS Code, so the layout, extensions and keybindings feel the same and the learning curve is small if you have used VS Code. The big overlap is an agent that handles multi-file tasks plus fast Tab autocomplete. Where they differ is pricing and quota mechanics: the Devin Desktop Free plan keeps Tab completions and inline edits unlimited and gives a light agent quota, with Pro at $20/month unlocking OpenAI, Claude and Gemini frontier models. The practical differentiators on the Devin Desktop side are checkpoint snapshots for one-click rollback of agent changes and Send to Cascade / Explain and Fix for error handling. Try both on the free tier and see which agent flow fits you.

devin.ai ↗ AI-generated
FAQ Windsurf Everyone

How do I install Devin Desktop (formerly Windsurf) and get started?

Go to devin.ai/desktop (windsurf.com now redirects there, since Cognition renamed Windsurf to Devin Desktop in 2026) and download the desktop app, then sign in. The Free plan needs no credit card. Because it is built on VS Code, the editor will feel familiar immediately. To begin, open a project folder, open the Cascade panel (Cmd/Ctrl+L or the Cascade icon), and type a task in plain English describing what you want done. Cascade reads your whole project, proposes the edits, and lets you review them before you accept. You do not need to copy code or errors out of the editor to use it.

devin.ai ↗ AI-generated
FAQ Windsurf Everyone

What is Tab autocomplete and does it use up my quota?

In Devin Desktop (formerly Windsurf), Tab completions are lightweight, in-the-flow suggestions: as you type, it predicts the next lines of code and you press Tab to accept. They are unlimited on every plan, including Free, and never count against your agent quota. Inline edits work the same way for small local changes: select a block of code, describe the tweak in place, and it is applied without opening a full Cascade task; these are also unlimited on Free. The practical rule is to use Tab and inline edits for the small stuff (rename a variable, tweak a loop, add a docstring) and save Cascade tasks for multi-file, multi-step work.

devin.ai ↗ AI-generated
FAQ Windsurf Everyone

What are checkpoints and can I undo what the agent did?

Yes. Cascade creates checkpoint snapshots of your project as it works, and you can revert all code changes back to an earlier step in one click, so a multi-file agent task is safe to try and roll back if you do not like the result. Nothing is silently overwritten. This is what makes it safe to let the agent loose: kick off the bold version of a task, review it, and if it is wrong, revert and re-prompt with a sharper instruction. One caveat from the docs: a revert is currently irreversible, meaning you cannot redo a revert, so make sure you actually want to roll back before you do.

devin.ai ↗ AI-generated
FAQ Windsurf Everyone

What is Auto-fix and does it cost extra quota?

When Cascade edits files during a task and its own changes introduce lint errors, it flags them (for example, 5 new lint errors) and, with Auto-fix on, corrects them itself before finishing, so the task lands with clean, working code instead of leaving you to clean up. It happens inside the same Cascade task rather than as a separate charge. The docs note that when Cascade fixes lint errors it created itself, it may discount those edits as credit-free, so self-correction does not necessarily burn extra quota. You can still open the diff on any edit to see exactly what changed and intervene only if a fix is not what you wanted.

devin.ai ↗ AI-generated

The same set on /recipes, filtered by tool and role.

5Videos 3

6FAQ 6

Does Devin Desktop (formerly Windsurf) connect to external tools like GitHub, databases, or Slack?

Yes. Cascade natively supports the Model Context Protocol (MCP), which lets it connect to outside tools and services such as GitHub for repository and file management, PostgreSQL for database access with schema inspection, Slack, Brave Search, filesystem access, and a persistent memory store. The easiest way to add one is the MCP marketplace: click the MCPs icon at the top of the Cascade panel, browse, and select Install on the server you want. You can also configure servers manually by editing the mcp_config.json file and supplying the required arguments and tokens. On Enterprise, admins can whitelist approved MCP servers for the whole team.

How does Devin Desktop (formerly Windsurf) compare to Cursor?

Both are AI-native editors built on VS Code, so the layout, extensions and keybindings feel the same and the learning curve is small if you have used VS Code. The big overlap is an agent that handles multi-file tasks plus fast Tab autocomplete. Where they differ is pricing and quota mechanics: the Devin Desktop Free plan keeps Tab completions and inline edits unlimited and gives a light agent quota, with Pro at $20/month unlocking OpenAI, Claude and Gemini frontier models. The practical differentiators on the Devin Desktop side are checkpoint snapshots for one-click rollback of agent changes and Send to Cascade / Explain and Fix for error handling. Try both on the free tier and see which agent flow fits you.

How do I install Devin Desktop (formerly Windsurf) and get started?

Go to devin.ai/desktop (windsurf.com now redirects there, since Cognition renamed Windsurf to Devin Desktop in 2026) and download the desktop app, then sign in. The Free plan needs no credit card. Because it is built on VS Code, the editor will feel familiar immediately. To begin, open a project folder, open the Cascade panel (Cmd/Ctrl+L or the Cascade icon), and type a task in plain English describing what you want done. Cascade reads your whole project, proposes the edits, and lets you review them before you accept. You do not need to copy code or errors out of the editor to use it.

What is Tab autocomplete and does it use up my quota?

In Devin Desktop (formerly Windsurf), Tab completions are lightweight, in-the-flow suggestions: as you type, it predicts the next lines of code and you press Tab to accept. They are unlimited on every plan, including Free, and never count against your agent quota. Inline edits work the same way for small local changes: select a block of code, describe the tweak in place, and it is applied without opening a full Cascade task; these are also unlimited on Free. The practical rule is to use Tab and inline edits for the small stuff (rename a variable, tweak a loop, add a docstring) and save Cascade tasks for multi-file, multi-step work.

What are checkpoints and can I undo what the agent did?

Yes. Cascade creates checkpoint snapshots of your project as it works, and you can revert all code changes back to an earlier step in one click, so a multi-file agent task is safe to try and roll back if you do not like the result. Nothing is silently overwritten. This is what makes it safe to let the agent loose: kick off the bold version of a task, review it, and if it is wrong, revert and re-prompt with a sharper instruction. One caveat from the docs: a revert is currently irreversible, meaning you cannot redo a revert, so make sure you actually want to roll back before you do.

What is Auto-fix and does it cost extra quota?

When Cascade edits files during a task and its own changes introduce lint errors, it flags them (for example, 5 new lint errors) and, with Auto-fix on, corrects them itself before finishing, so the task lands with clean, working code instead of leaving you to clean up. It happens inside the same Cascade task rather than as a separate charge. The docs note that when Cascade fixes lint errors it created itself, it may discount those edits as credit-free, so self-correction does not necessarily burn extra quota. You can still open the diff on any edit to see exactly what changed and intervene only if a fix is not what you wanted.

7Glossary 10 terms

Show the 10 terms
Devin Desktop
argparse
A built-in Python module that lets your script accept named options (like --input or --threshold) typed on the command line, so you don't have to hard-code values inside the file.
--input
A command-line flag passed to a Python script (via argparse) that tells the script which file to read; you type it after the script name, e.g. python filter.py --input data.csv.
evalue
Short for "expect value" — a BLAST statistic that measures how likely a sequence match is to be a coincidence; lower values (e.g. 1e-10) mean a more trustworthy biological match.
import csv
A Python statement that loads the built-in csv module so your script can read and write spreadsheet-style files with rows and columns.
NameError
A Python error that fires when your code refers to a variable or function that hasn't been defined yet — usually a typo or a missing assignment.
TypeError
A Python error that fires when an operation is applied to the wrong kind of value — for example, trying to do arithmetic on a piece of text instead of a number.
Cascade
Devin Desktop's (formerly Windsurf's) agent panel that reads your whole project and applies multi-file changes from a plain-English task description.
checkpoint
A snapshot of your project saved before each Cascade step, letting you roll an agent change back in one click.
Send to Cascade
An action that pushes the editor's Problems-panel errors into the Cascade conversation so the agent can fix them in context.
Auto-fix
A Cascade setting that detects lint errors introduced mid-task and corrects them automatically before the task finishes.

8See also

💬 Discuss this chapter

Ask, share, or report — over on the Heidelberg AI community forum.