Skip to main content


The proto install <tool> [version] (or proto i) command will download and install a tool by unpacking their archive to ~/.proto/tools/<tool>. If the tool has already been installed, the command will exit early.

The command is also smart enough to resolve partial versions, so 1, 1.2, and 1.2.3 are all acceptable. It even supports aliases when applicable, like latest, next, beta, etc. To install a canary release, use --canary.

$ proto install deno 1.31
$ proto install deno --canary

Pinning the version

By default this command will only install the tool into ~/.proto/tools. If you would like to also pin the resolved version to a .prototools file, use the --pin option.

# ~/.prototools
$ proto install bun --pin
$ proto install bun --pin local

# ~/.proto/.prototools
$ proto install bun --pin global

Handling plugin hooks

Some tools run post-install hooks that support arbitrary arguments that can be passed after --.

$ proto install go -- --no-gobin


  • <tool> - Type of tool.
  • [version] - Version of tool. Defaults to "latest".
  • [-- <args>] - Additional arguments to pass to post-install hooks.


  • --canary - Install a canary (next, nightly, etc) version.
  • --pin - Pin the resolved version and create a symlink in ~/.proto/bin. Accepts a boolean (pins locally by default), or the string "global", or the string "local".