Skip to content

Windows: tool integration installers fail because /bin/sh is hard-coded #1

Description

@kapustazh

Summary

On Windows, installing a proposed terminal-agent integration from Sync fails immediately because the shared installer backend unconditionally tries to spawn /bin/sh -c.

This was reproduced with Claude Code, but the same backend is used for the proposed Claude Code, Codex, OpenCode, and Antigravity installers.

Environment

  • Sync: v0.7.1, build 6673569
  • Windows: x64, version 25H2, build 26200.8875
  • Installation: official Sync_Windows_x64-setup.exe

Steps to reproduce

  1. Install and open Sync v0.7.1 on Windows.
  2. Open the proposed tool integrations.
  3. Select Install for Claude Code.
  4. Observe that the embedded installer immediately reports Failed.

Actual behavior

The installer returns a sanitized form of this error:

spawn failed: CreateProcessW `"/bin/sh -c \"curl -fsSL https://claude.ai/install.sh | bash\""` in cwd Some("%USERPROFILE%") failed: The system cannot find the path specified. (os error 3)

No download is attempted because process creation fails first.

Expected behavior

Sync should run the provider's supported Windows installation command in an available Windows shell, or clearly report that installation is unsupported on the platform.

For example, Claude Code's documented Windows PowerShell installer is:

irm https://claude.ai/install.ps1 | iex

Likely cause

The v0.7.1 installer backend hard-codes the Unix shell path:

https://github.com/sync-buzz/sync/blob/v0.7.1/crates/sync-desktop/src/install.rs#L194-L200

The proposed provider commands are also POSIX shell pipelines:

https://github.com/sync-buzz/sync/blob/v0.7.1/crates/sync-integrations/src/ide/mod.rs#L266-L287

On native Windows, /bin/sh is not a valid executable path for CreateProcessW. Git for Windows is installed on the affected machine and provides C:\Program Files\Git\bin\bash.exe, but Sync does not resolve or use it.

Suggested direction

  • Select both the shell and installer command per platform.
  • Use PowerShell or CMD commands documented by each provider on Windows.
  • Keep /bin/sh -c for supported Unix platforms.
  • Add a Windows test covering installer command construction/spawn selection. The current unit tests cover environment and registry behavior but not platform-specific shell selection.

Metadata

Metadata

Assignees

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