Pane now has official package-manager clients. You can start from npm, pnpm, or PyPI and land in the same guided setup flow:
npx --yes runpane@latest
pnpm dlx runpane@latest
pipx run runpaneThat command opens a small interactive CLI. From there you can install the Pane desktop app, set up the current machine as a Remote Pane host, update an existing install, or run diagnostics. If you are in CI or a non-interactive shell, the command prints help instead of hanging for input.
why this matters
The old install path worked, but it was a copy-paste script. That is fine for power users and automation, but it is a rough first impression. You paste a command, it starts doing things, and you wait for enough output to prove nothing weird is happening.
A CLI can be much more explicit. It can explain what Pane is about to do, ask which setup path you want, show release-resolution and download progress, and keep the advanced commands discoverable for people who already know exactly what they need.
The other reason is reach. A lot of developer tools already start with npx, pnpm dlx, or pipx. Pane should meet people there. npm and PyPI are also familiar trust surfaces: you can inspect the package metadata, pin versions, use your normal package-manager cache, and run the exact command again later.
what changed
- → npm package:
runpanenow supportsnpx --yes runpane@latestand persistent installs withnpm i -g runpane. - → pnpm path:
pnpm dlx runpane@latestruns the same npm package. There is no separate pnpm registry package. - → PyPI package:
pipx run runpane,uvx runpane@latest, andpython -m runpaneare supported. - → Remote hosts: the same CLI can set up a VM, WSL distro, server, desktop, or cloud machine as a Remote Pane host and print the
pane-remote://connection code. - → Progress by default: install and update flows now say when they are resolving releases, downloading artifacts, installing, and starting remote setup.
The shell installers are still there. Direct GitHub release downloads are still there. The package-manager path is just the new default because it gives first-time users a better experience and gives repeat users a command they can remember.
the bigger shape
Pane is built around terminal-native agents. Claude Code, Codex, Aider, Goose, and whatever ships next already have CLIs. Pane gives those CLIs a real desktop workflow: worktrees, terminals, diffs, review, git actions, status, and remote runtime control.
Having official Node and Python clients fits that model. The install path itself is now terminal-native too. You can run one command, get a guided setup, and then go straight into the app.
It also gives us a clean place to grow future CLI capabilities. Today it installs and configures Pane. Over time, the same surface can become a better programmable layer for local Pane workflows: diagnostics, remote-host setup, workspace configuration, and eventually more of the things people already expect to automate from a terminal.
Start with npx --yes runpane@latest, or inspect the package on npm and PyPI.