Try using | bash - instead of | sh -. curl -fsSL https://get.pnpm.io/install.sh | bash - curl writes to stdout by default, so the | pipe character diverts the output, in this case the sh terminal. Try using | bash - which will pipe its live output to a bash terminal. The - character at the end means that the terminal will accept anything sent to its stdin. You may not have the sh terminal installed. Another option: npm i -G pnpm will get you there too and npm ships with Node, which I assume you have on this box. Make sure to run any of the commands as the user who will be using pnpm, not root. -f fail silently -s silent mode -S show errors in silent mode -L will follow redirects by using the 3xx-response's output to make a new curl request