diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx
index 495b3234058..4f47ed64b36 100644
--- a/packages/app/src/components/session/session-header.tsx
+++ b/packages/app/src/components/session/session-header.tsx
@@ -28,6 +28,7 @@ import { StatusPopover } from "../status-popover"
const OPEN_APPS = [
"vscode",
"cursor",
+ "windsurf",
"zed",
"textmate",
"antigravity",
@@ -53,6 +54,7 @@ const MAC_APPS = [
openWith: "Visual Studio Code",
},
{ id: "cursor", label: "session.header.open.app.cursor", icon: "cursor", openWith: "Cursor" },
+ { id: "windsurf", label: "session.header.open.app.windsurf", icon: "windsurf", openWith: "Windsurf" },
{ id: "zed", label: "session.header.open.app.zed", icon: "zed", openWith: "Zed" },
{ id: "textmate", label: "session.header.open.app.textmate", icon: "textmate", openWith: "TextMate" },
{
@@ -83,6 +85,7 @@ const MAC_APPS = [
const WINDOWS_APPS = [
{ id: "vscode", label: "session.header.open.app.vscode", icon: "vscode", openWith: "code" },
{ id: "cursor", label: "session.header.open.app.cursor", icon: "cursor", openWith: "cursor" },
+ { id: "windsurf", label: "session.header.open.app.windsurf", icon: "windsurf", openWith: "windsurf" },
{ id: "zed", label: "session.header.open.app.zed", icon: "zed", openWith: "zed" },
{
id: "powershell",
@@ -101,6 +104,7 @@ const WINDOWS_APPS = [
const LINUX_APPS = [
{ id: "vscode", label: "session.header.open.app.vscode", icon: "vscode", openWith: "code" },
{ id: "cursor", label: "session.header.open.app.cursor", icon: "cursor", openWith: "cursor" },
+ { id: "windsurf", label: "session.header.open.app.windsurf", icon: "windsurf", openWith: "windsurf" },
{ id: "zed", label: "session.header.open.app.zed", icon: "zed", openWith: "zed" },
{
id: "sublime-text",
diff --git a/packages/app/src/i18n/ar.ts b/packages/app/src/i18n/ar.ts
index 720045a4d1c..2b3d4e2f8ad 100644
--- a/packages/app/src/i18n/ar.ts
+++ b/packages/app/src/i18n/ar.ts
@@ -796,6 +796,7 @@ export const dict = {
"session.header.open.fileManager": "مدير الملفات",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/br.ts b/packages/app/src/i18n/br.ts
index a7d7433b02c..a2ef526c7a8 100644
--- a/packages/app/src/i18n/br.ts
+++ b/packages/app/src/i18n/br.ts
@@ -806,6 +806,7 @@ export const dict = {
"session.header.open.fileManager": "Gerenciador de Arquivos",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/bs.ts b/packages/app/src/i18n/bs.ts
index ccdf2b6044d..defa92b9986 100644
--- a/packages/app/src/i18n/bs.ts
+++ b/packages/app/src/i18n/bs.ts
@@ -882,6 +882,7 @@ export const dict = {
"session.header.open.fileManager": "File Manager",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/da.ts b/packages/app/src/i18n/da.ts
index f1701094b56..882b19282eb 100644
--- a/packages/app/src/i18n/da.ts
+++ b/packages/app/src/i18n/da.ts
@@ -876,6 +876,7 @@ export const dict = {
"session.header.open.fileManager": "Filhåndtering",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/de.ts b/packages/app/src/i18n/de.ts
index 2dfeed72032..7aa6e780d66 100644
--- a/packages/app/src/i18n/de.ts
+++ b/packages/app/src/i18n/de.ts
@@ -818,6 +818,7 @@ export const dict = {
"session.header.open.fileManager": "Dateimanager",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts
index 7f6816de9e3..5a63ce4f621 100644
--- a/packages/app/src/i18n/en.ts
+++ b/packages/app/src/i18n/en.ts
@@ -580,6 +580,7 @@ export const dict = {
"session.header.open.fileManager": "File Manager",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/es.ts b/packages/app/src/i18n/es.ts
index 1cd47dfc796..3f45c11bec9 100644
--- a/packages/app/src/i18n/es.ts
+++ b/packages/app/src/i18n/es.ts
@@ -889,6 +889,7 @@ export const dict = {
"session.header.open.fileManager": "Gestor de archivos",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/fr.ts b/packages/app/src/i18n/fr.ts
index c7d89c3251b..1fed83ed42d 100644
--- a/packages/app/src/i18n/fr.ts
+++ b/packages/app/src/i18n/fr.ts
@@ -815,6 +815,7 @@ export const dict = {
"session.header.open.fileManager": "Gestionnaire de fichiers",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/ja.ts b/packages/app/src/i18n/ja.ts
index 267411083f4..b0bea796b12 100644
--- a/packages/app/src/i18n/ja.ts
+++ b/packages/app/src/i18n/ja.ts
@@ -801,6 +801,7 @@ export const dict = {
"session.header.open.fileManager": "ファイルマネージャー",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/ko.ts b/packages/app/src/i18n/ko.ts
index bb57f99396b..6a7e96ba1d8 100644
--- a/packages/app/src/i18n/ko.ts
+++ b/packages/app/src/i18n/ko.ts
@@ -800,6 +800,7 @@ export const dict = {
"session.header.open.fileManager": "파일 관리자",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/no.ts b/packages/app/src/i18n/no.ts
index 83d6a9903b6..9532beecadf 100644
--- a/packages/app/src/i18n/no.ts
+++ b/packages/app/src/i18n/no.ts
@@ -883,6 +883,7 @@ export const dict = {
"session.header.open.fileManager": "Filbehandler",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/pl.ts b/packages/app/src/i18n/pl.ts
index db9ef18003e..22f020d402e 100644
--- a/packages/app/src/i18n/pl.ts
+++ b/packages/app/src/i18n/pl.ts
@@ -803,6 +803,7 @@ export const dict = {
"session.header.open.fileManager": "Menedżer plików",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/ru.ts b/packages/app/src/i18n/ru.ts
index e1abb6e6cf6..68f81576e34 100644
--- a/packages/app/src/i18n/ru.ts
+++ b/packages/app/src/i18n/ru.ts
@@ -885,6 +885,7 @@ export const dict = {
"session.header.open.fileManager": "Файловый менеджер",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/th.ts b/packages/app/src/i18n/th.ts
index b522e4631b9..a9057c8a120 100644
--- a/packages/app/src/i18n/th.ts
+++ b/packages/app/src/i18n/th.ts
@@ -872,6 +872,7 @@ export const dict = {
"session.header.open.fileManager": "File Manager",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/tr.ts b/packages/app/src/i18n/tr.ts
index 8542dff799b..869f493f9e1 100644
--- a/packages/app/src/i18n/tr.ts
+++ b/packages/app/src/i18n/tr.ts
@@ -892,6 +892,7 @@ export const dict = {
"session.header.open.fileManager": "Dosya Yöneticisi",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/zh.ts b/packages/app/src/i18n/zh.ts
index e762ba78d9c..77d64924b20 100644
--- a/packages/app/src/i18n/zh.ts
+++ b/packages/app/src/i18n/zh.ts
@@ -871,6 +871,7 @@ export const dict = {
"session.header.open.fileManager": "文件管理器",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/app/src/i18n/zht.ts b/packages/app/src/i18n/zht.ts
index 184c789ce36..05759978829 100644
--- a/packages/app/src/i18n/zht.ts
+++ b/packages/app/src/i18n/zht.ts
@@ -866,6 +866,7 @@ export const dict = {
"session.header.open.fileManager": "檔案管理員",
"session.header.open.app.vscode": "VS Code",
"session.header.open.app.cursor": "Cursor",
+ "session.header.open.app.windsurf": "Windsurf",
"session.header.open.app.zed": "Zed",
"session.header.open.app.textmate": "TextMate",
"session.header.open.app.antigravity": "Antigravity",
diff --git a/packages/ui/src/assets/icons/app/windsurf-dark.svg b/packages/ui/src/assets/icons/app/windsurf-dark.svg
new file mode 100644
index 00000000000..2e4e4e4921d
--- /dev/null
+++ b/packages/ui/src/assets/icons/app/windsurf-dark.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/ui/src/assets/icons/app/windsurf.svg b/packages/ui/src/assets/icons/app/windsurf.svg
new file mode 100644
index 00000000000..386f8c035dc
--- /dev/null
+++ b/packages/ui/src/assets/icons/app/windsurf.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/ui/src/components/app-icon.tsx b/packages/ui/src/components/app-icon.tsx
index f8b587ff260..b7afb4c11c1 100644
--- a/packages/ui/src/components/app-icon.tsx
+++ b/packages/ui/src/components/app-icon.tsx
@@ -10,6 +10,8 @@ import finder from "../assets/icons/app/finder.png"
import ghostty from "../assets/icons/app/ghostty.svg"
import iterm2 from "../assets/icons/app/iterm2.svg"
import powershell from "../assets/icons/app/powershell.svg"
+import windsurf from "../assets/icons/app/windsurf.svg"
+import windsurfDark from "../assets/icons/app/windsurf-dark.svg"
import terminal from "../assets/icons/app/terminal.png"
import textmate from "../assets/icons/app/textmate.png"
import vscode from "../assets/icons/app/vscode.svg"
@@ -22,6 +24,7 @@ import sublimetext from "../assets/icons/app/sublimetext.svg"
const icons = {
vscode,
cursor,
+ windsurf,
zed,
"file-explorer": fileExplorer,
finder,
@@ -38,6 +41,10 @@ const icons = {
} satisfies Record
const themed: Partial> = {
+ windsurf: {
+ light: windsurf,
+ dark: windsurfDark,
+ },
zed: {
light: zed,
dark: zedDark,
diff --git a/packages/ui/src/components/app-icons/types.ts b/packages/ui/src/components/app-icons/types.ts
index 4fb3abf39c3..bd22457bc23 100644
--- a/packages/ui/src/components/app-icons/types.ts
+++ b/packages/ui/src/components/app-icons/types.ts
@@ -3,6 +3,7 @@
export const iconNames = [
"vscode",
"cursor",
+ "windsurf",
"zed",
"file-explorer",
"finder",