Summary
On Windows, Sync v0.7.1 reports both Cursor and Zed as Not installed even though both applications are installed, available on PATH, and their CLIs execute successfully.
The GUI-editor providers appear to infer whether the application is installed solely from whether a provider-specific MCP/settings file exists. This conflates two independent states:
- Is the editor installed?
- Is the Sync MCP server registered in that editor?
Environment
- Sync: v0.7.1, build
6673569 - Windows: x64, version 25H2, build 26200.8875
- Cursor: 3.15.19
- Zed: 0.224.11
Steps to reproduce
Install Cursor and Zed on Windows.
Confirm their CLIs are available:
cursor --version
zed --version
Open Sync's tool integrations screen.
Observe that Cursor and Zed are shown as Not installed.
Actual behavior
Sync reports both GUI editors as not installed.
Verified application locations on the affected machine:
- Cursor:
%LOCALAPPDATA%\Programs\cursor\Cursor.exe - Cursor CLI:
%LOCALAPPDATA%\Programs\cursor\resources\app\bin\cursor.cmd - Zed:
%LOCALAPPDATA%\Programs\Zed\Zed.exe - Zed CLI:
%LOCALAPPDATA%\Programs\Zed\bin\zed.exe
Both CLI directories are on PATH, and both version commands succeed.
Expected behavior
Sync should report Cursor and Zed as installed, with mcp_registered: false when the Sync MCP entry has not yet been configured.
Likely cause
Cursor
Cursor detection returns NotInstalled whenever ~/.cursor/mcp.json does not exist:
https://github.com/sync-buzz/sync/blob/v0.7.1/crates/sync-integrations/src/ide/cursor.rs#L37-L42
On the affected machine, Cursor is installed and on PATH, but ~/.cursor/mcp.json does not exist because no global MCP server has been configured yet. The missing MCP configuration file does not mean the application is missing.
Zed
Zed detection similarly returns NotInstalled whenever its computed settings path does not exist:
https://github.com/sync-buzz/sync/blob/v0.7.1/crates/sync-integrations/src/ide/zed.rs#L46-L51
The default detection environment always sets the XDG-style root to ~/.config:
https://github.com/sync-buzz/sync/blob/v0.7.1/crates/sync-integrations/src/paths.rs#L26-L33
Therefore Sync checks ~/.config/zed/settings.json. The actual Zed settings file on Windows is %APPDATA%\Zed\settings.json, which exists on the affected machine. ~/.config/zed/settings.json does not exist.
Suggested direction
- Detect application installation independently from MCP registration state.
- On Windows, use the editor CLI on
PATH and/or standard per-user installation paths as installation evidence. - Resolve Zed's settings location per platform, including
%APPDATA%\Zed\settings.json on Windows. - Treat a missing MCP/settings file as
Installed { mcp_registered: false } when the application itself is present. - Add Windows tests for:
- Cursor installed with no
~/.cursor/mcp.json. - Zed installed with
%APPDATA%\Zed\settings.json and no ~/.config/zed/settings.json.
Summary
On Windows, Sync v0.7.1 reports both Cursor and Zed as Not installed even though both applications are installed, available on
PATH, and their CLIs execute successfully.The GUI-editor providers appear to infer whether the application is installed solely from whether a provider-specific MCP/settings file exists. This conflates two independent states:
Environment
6673569Steps to reproduce
Install Cursor and Zed on Windows.
Confirm their CLIs are available:
Open Sync's tool integrations screen.
Observe that Cursor and Zed are shown as Not installed.
Actual behavior
Sync reports both GUI editors as not installed.
Verified application locations on the affected machine:
%LOCALAPPDATA%\Programs\cursor\Cursor.exe%LOCALAPPDATA%\Programs\cursor\resources\app\bin\cursor.cmd%LOCALAPPDATA%\Programs\Zed\Zed.exe%LOCALAPPDATA%\Programs\Zed\bin\zed.exeBoth CLI directories are on
PATH, and both version commands succeed.Expected behavior
Sync should report Cursor and Zed as installed, with
mcp_registered: falsewhen the Sync MCP entry has not yet been configured.Likely cause
Cursor
Cursor detection returns
NotInstalledwhenever~/.cursor/mcp.jsondoes not exist:https://github.com/sync-buzz/sync/blob/v0.7.1/crates/sync-integrations/src/ide/cursor.rs#L37-L42
On the affected machine, Cursor is installed and on
PATH, but~/.cursor/mcp.jsondoes not exist because no global MCP server has been configured yet. The missing MCP configuration file does not mean the application is missing.Zed
Zed detection similarly returns
NotInstalledwhenever its computed settings path does not exist:https://github.com/sync-buzz/sync/blob/v0.7.1/crates/sync-integrations/src/ide/zed.rs#L46-L51
The default detection environment always sets the XDG-style root to
~/.config:https://github.com/sync-buzz/sync/blob/v0.7.1/crates/sync-integrations/src/paths.rs#L26-L33
Therefore Sync checks
~/.config/zed/settings.json. The actual Zed settings file on Windows is%APPDATA%\Zed\settings.json, which exists on the affected machine.~/.config/zed/settings.jsondoes not exist.Suggested direction
PATHand/or standard per-user installation paths as installation evidence.%APPDATA%\Zed\settings.jsonon Windows.Installed { mcp_registered: false }when the application itself is present.~/.cursor/mcp.json.%APPDATA%\Zed\settings.jsonand no~/.config/zed/settings.json.