Install Pro
Three ways to put Phase Console Pro on a machine. Each one ends with your licence key active there.
Phase Console Pro is one package, phase-console-pro, published on npm and on a Homebrew tap. Your licence key is what unlocks Pro, one machine at a time. Every command on this page shows PCP-XXXX-XXXX-XXXX-XXXX where your key goes: the key is in the email that brought it, and on your account page.
What you need
- A Mac or a Linux machine. On Windows, Phase Console runs inside WSL2 with systemd turned on: see the Windows section at the end of this page.
- Node 22.18 or newer (or 23.6 or newer). The installer fetches it for you when the machine has none, or only an older one.
- Claude Code, which runs the sessions a console drives.
Pick a route
There are three routes, and each ends with Pro active on this machine. Use one of them.
With npm
Install the package:
npm install -g phase-console-pro
Then activate your key on this machine:
phase-console license activate PCP-XXXX-XXXX-XXXX-XXXX
With Homebrew
The package is on the zsarir/tap tap. Install it:
brew install zsarir/tap/phase-console-pro
Then activate your key on this machine:
phase-console license activate PCP-XXXX-XXXX-XXXX-XXXX
With the installer
One line does all of it: Node when it is missing, the package, your key, and the login agent. Run it in the folder of the project you want a console for, the one that holds docs/plans.
On macOS, Linux and WSL2:
curl -fsSL https://phase-console-site.vercel.app/install.sh | bash -s -- --key PCP-XXXX-XXXX-XXXX-XXXX
On Windows, in PowerShell:
iwr -UseBasicParsing https://phase-console-site.vercel.app/install.ps1 -OutFile install.ps1; powershell -ExecutionPolicy Bypass -File .\install.ps1 --key PCP-XXXX-XXXX-XXXX-XXXX
What the installer does
It takes four steps, and skips each one that is already true:
- Node. When Node 22.18 or newer (or 23.6 or newer) is not on your
PATH, it downloads the official build from nodejs.org, checks it against the published checksum, and unpacks it into~/.local/share/phase-console/node. It then prints the line that adds Node to yourPATHfor new shells. - The package. It runs
npm install -g phase-console-pro@latest, or installs the version--versionnames. - Your key. Given
--key, it runsphase-console license activatewith that key. - The login agent. It runs
phase-console --install-agentfor the project, which starts that project's console every time you log in: a launchd agent on macOS, asystemd --userservice on Linux and WSL2. The project is the folder you ran the installer in. The step is skipped, and the command to run later is printed, when that folder holds nodocs/plansor when no key is active, because the agent is a Pro feature.
A few options change what it does:
--version X.Y.Zinstalls that version instead of the latest.--root <folder>names the project the login agent serves, instead of the folder you are in.--port Nfixes the port that project's console listens on.--minimalstarts that console with none of its capability switches. By default all seven are on (--allow-writes,--allow-runand the rest).--no-agentinstalls and activates, and sets up no login agent.--dry-runprints what each step would do and changes nothing.
Use it inside Claude Code
To make the installed package Claude Code's plugin as well, with the same skill, scripts and hooks a clone of the repository gives, run:
phase-console install-plugin
Claude Code picks it up the next time it starts, or when you run /reload-plugins.
Update
With npm:
npm install -g phase-console-pro@latest
With Homebrew:
brew upgrade phase-console-pro
Then restart each console onto the new version, from its project's folder:
phase-console restart
A console in the middle of a run refuses to restart; phase-console restart --when-idle waits for its live sessions to end instead. Your key stays active through an update, so there is nothing to activate again. While your licence's term runs, every new version is yours. After it ends, a version released later needs a renewal: Questions about Pro explains the terms.
Windows
Phase Console runs on macOS and Linux. On Windows it runs inside WSL2: the PowerShell line above hands the install to install.sh inside WSL2, which installs the package there rather than in Windows itself.
The login agent needs systemd inside WSL2. Add these two lines to /etc/wsl.conf, run wsl --shutdown, then run the installer again:
[boot]
systemd=true
Each WSL2 distribution counts as a machine of its own.