You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: derive executable name from plugin ID for raw binary installs (#5)
Claude Code releases are raw binaries, not archives. When proto installs
a non-archive download, it renames the file on disk to the plugin's
configured ID (tool.get_file_name() in proto's flow/install.rs), e.g.
`claude-code.exe` for `proto plugin add claude-code ...`.
v0.2.0/v0.3.0 hardcoded the executable as `claude`/`claude.exe` in
locate_executables, which never exists on disk under the default plugin
ID. On Windows this surfaced as:
- "Unable to symlink binary, source file does not exist" warnings
during `proto install claude-code`
- `proto::commands::run::missing_alternate_binary` when running `claude`
Fix by deriving the exe name from get_plugin_id() at runtime and marking
it as the primary executable — the same pattern moonrepo's own `moon`
plugin uses for its raw-binary releases.
Verified end-to-end in an isolated PROTO_HOME on Windows with an
arbitrary plugin ID: install produces no symlink warnings, and both the
`claude` shim and bin link run successfully.