Skip to content

clay CLI unsupported on Windows/Git Bash (uname detection + no Windows binary) #13

Description

@ksannedhi

Summary

The clay CLI launcher (bin/clay, plugin v2.1.13) does not support Windows when run under Git Bash (the shell Claude Code's Bash tool uses on Windows). Every clay subcommand — including whoami, feedback, and the mcp proxy the plugin registers as the MCP server — fails immediately with a validation error before doing any real work.

Root cause

bin/clay detects platform via uname -s/uname -m and only has cases for Darwin and Linux:

os="$(uname -s)"
case "$os" in
  Darwin) os="darwin" ;;
  Linux) os="linux" ;;
  *) die "validation_error" "clay: unsupported OS: $os" 2 ;;
esac

On Windows, Git Bash reports uname -s as MINGW64_NT-10.0-26200, which falls through to the *) branch and dies immediately.

Separately, checking the GitHub release assets for the pinned CLI version shows only clay-linux-* and clay-darwin-* binaries — there is no clay-windows-* / clay-win32-* asset published at all, so even fixing the uname case statement wouldn't be enough without a Windows build to point it at.

Impact

  • /plugin reconnect in Claude Code on Windows fails with Failed to reconnect to plugin:clay:clay: -32000, because the MCP server proxy (clay mcp) is bootstrapped through this same broken launcher.
  • clay whoami, clay login, and clay feedback all fail the same way — there's no way to authenticate, use the CLI, or even report this bug through clay feedback on a stock Windows + Git Bash setup.

Repro

$ clay whoami
{"error":{"code":"validation_error","message":"clay: unsupported OS: MINGW64_NT-10.0-26200"}}
exit_code=2

$ echo test | clay feedback
{"error":{"code":"validation_error","message":"clay: unsupported OS: MINGW64_NT-10.0-26200"}}
exit_code=2

Environment

  • OS: Windows 11 Home Single Language 10.0.26200
  • Shell reporting to launcher: Git Bash (MINGW64_NT-10.0-26200)
  • Claude Code plugin cache: clay-plugins/clay/2.1.13
  • clay is not on PATH at all in native PowerShell — it only resolves inside Git Bash where Claude Code injects the plugin's bin/ dir onto PATH.

Suggested fix

  • Publish a native Windows build (clay-windows-x64.exe or similar) for the CLI.
  • Add a Windows/MINGW/MSYS/CYGWIN case to the uname -s detection in bin/clay, pointing at the Windows binary.
  • Until then, consider a WSL detection fallback or a clearer error message pointing Windows users at WSL as a workaround.

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