Skip to content

Conversation

@peterschmidt85
Copy link
Contributor

@peterschmidt85 peterschmidt85 commented Jan 4, 2026

Fixes #3443


Note

Adds Windsurf as a first-class IDE option for dev environments across UI, types, CLI, and server.

  • Frontend: exposes windsurf in IDE_OPTIONS, updates types and "Connect" flow to use dynamic IDE labels/URLs
  • Types: extends TIde and form value typings to include windsurf
  • Core models: add windsurf to DevEnvironmentConfigurationParams; validate Windsurf version as version@commit
  • CLI: auto-detects Windsurf version via product metadata; prints guidance if not found
  • Server: new WindsurfDesktop installer/README commands and wiring in dev job configurator
  • Tests: add unit tests for Windsurf version validation

Written by Cursor Bugbot for commit 9e51925. This will update automatically on new commits. Configure here.

@peterschmidt85 peterschmidt85 linked an issue Jan 4, 2026 that may be closed by this pull request
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

version = values.get("version")
if ide == "windsurf" and version:
# Validate format: version@commit
if not re.match(r"^.+@[a-f0-9]+$", version):
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regex allows multiple @ but split assumes exactly one

The regex validation ^.+@[a-f0-9]+$ allows versions containing multiple @ symbols (e.g., 1.0@@abc123 or 1.0@beta@abc123) because .+ is greedy and matches characters including @. However, windsurf.py uses version, commit = self.version.split("@") which expects exactly two parts. A malformed version passing validation would cause a runtime ValueError: too many values to unpack. The regex could use ^[^@]+@[a-f0-9]+$ to explicitly exclude @ from the version portion.

Additional Locations (1)

Fix in Cursor Fix in Web

Copy link
Collaborator

@jvstme jvstme left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Python part LGTM. Left some comments regarding Windsurf version detection that may be worth addressing before merge

Comment on lines +686 to +690
console.print(
"[secondary]Unable to detect the Windsurf version and pre-install extensions. "
"Fix by opening [code]Command Palette[/code], executing [code]Shell Command: "
"Install 'surf' command in PATH[/code], and restarting terminal.[/]\n"
)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't find it in the Command Palette. Am I doing something wrong?

Image

Also can't find it in VSCode

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2026-01-07 at 09 49 15

Windsurf Version: 1.13.5

Same in VSCode (Version: 1.106.3):

Screenshot 2026-01-07 at 09 50 15

Replaced `surf` with `windsurf`(which is the only one alaviable on Linux)
@peterschmidt85 peterschmidt85 merged commit d4680c9 into master Jan 7, 2026
29 checks passed
@peterschmidt85 peterschmidt85 deleted the 3443-windsurf-ide branch January 7, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Dev environments] Support windsurf IDE

3 participants