Skip to content

v0.3.1

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Jul 16:22
e10ef50
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.