Skip to content

Windows: Cursor and Zed are reported as not installed when their config files are absent #3

Description

@kapustazh

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:

  1. Is the editor installed?
  2. 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

  1. Install Cursor and Zed on Windows.

  2. Confirm their CLIs are available:

    cursor --version
    zed --version
  3. Open Sync's tool integrations screen.

  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions