Summary
guild init registers MCP entries against detected clients (Claude Code, Codex, Cursor, etc.) but treats "config file present" as proof the client is usable. If the client's CLI binary is missing from PATH, the registration writes a config that points at a non-resolvable binary and confuses later invocations.
Affected files
internal/install/clients.go
internal/install/mcp_install.go
Acceptance
- For each detected client,
guild init verifies the corresponding CLI binary resolves via exec.LookPath before writing its config entry.
- Skipped clients are surfaced in the init summary with a clear "binary not found on PATH" reason so the user can fix it.
- Regression test covers a detected-but-missing-binary case.
Summary
guild initregisters MCP entries against detected clients (Claude Code, Codex, Cursor, etc.) but treats "config file present" as proof the client is usable. If the client's CLI binary is missing fromPATH, the registration writes a config that points at a non-resolvable binary and confuses later invocations.Affected files
internal/install/clients.gointernal/install/mcp_install.goAcceptance
guild initverifies the corresponding CLI binary resolves viaexec.LookPathbefore writing its config entry.