Install the CLI
Install portal on macOS, Linux or Windows (through WSL) with one command, and what the installer does.
Warnings and limits
- The CLI runs on macOS and Linux (x86_64 and arm64). It does not run natively on Windows yet: use WSL 2, as in Windows (WSL). In a Windows shell the installer stops with "portal does not run on Windows itself: run this command in WSL."
- The installer refuses to run as root.
--system(Linux, as root) is only for enrolling a machine with a code. See Your own machines. - Installing grants no access: you still sign in in the browser. Portal is open to anyone with an active Clusy account and a verified email address.
- The installer's downloads are limited to 30 requests a minute per client address.
- There is no
portal uninstallcommand for the CLI. See Remove the CLI.
Install
curl -fsSL https://gateway.clusy.io/install.sh | shOr give your coding agent set up https://portal.clusy.io/SKILL.md: it runs this installer with --prefer-portal for you and goes on to connect your clouds. See Set up your coding tool.
The script is served by Portal itself and installs Portal's own build of the CLI. It:
- Checks for
curland a SHA-256 tool, and refuses Windows and root. - Uses your
uvwhen it is version 0.13.4 or later. Otherwise it installs a pinneduvrelease, checked against its SHA-256 before it runs. - Downloads the CLI's wheel, checks its SHA-256, and installs it as a
uvtool namedclusy-portalon Python 3.12. - Adds the tool's directory (usually
~/.local/bin) to your shell's PATH when it is missing. - Runs
portal setup, which registers Portal with Claude Code and Codex when they are installed and opens the browser to sign in.
Everything in the script runs only after it has downloaded completely, so a download cut short runs nothing.
Windows (WSL)
Portal's CLI does not run natively on Windows yet. Run it inside WSL 2, the Windows Subsystem for Linux, where the Linux build installs and works as on any Linux machine.
-
Install WSL. In PowerShell, run as administrator:
wsl --installRestart Windows when it asks, then open Ubuntu from the Start menu and create your Linux user. If WSL is already installed, run
wsl --updateinstead.wsl -l -vshows each distribution's WSL version;wsl --set-version Ubuntu 2moves one from WSL 1 to WSL 2. -
In the Ubuntu terminal, as your Linux user (not root), run the install command:
curl -fsSL https://gateway.clusy.io/install.sh | shIt needs
curlandsha256sum, which Ubuntu has, and installsuvand Python 3.12 itself. Ifcurlis missing, runsudo apt update && sudo apt install -y curlfirst. -
Sign in. The installer ends with
portal setup, which tries to open a browser. When nothing opens in Windows, press Ctrl-C and run:portal login --deviceIt prints an approval page and a code. Open the page in your Windows browser, check that it shows the same code, and approve. To let the CLI open your Windows browser itself next time, install
wslu(sudo apt install -y wslu) and addexport BROWSER=wslviewto~/.bashrc. -
Run your coding tools inside WSL, where the CLI is: they start Portal's MCP server with
portal mcp, which a tool running on Windows itself cannot start.-
Claude Code and Codex: install and start them in the Ubuntu terminal.
portal setupregisters Portal with them there. -
VS Code: open the project in a WSL window with the WSL extension (
code .in the Ubuntu terminal opens one). Add Portal to the project's.vscode/mcp.json, which VS Code runs inside WSL in that window, with the pathcommand -v portalprints:{ "servers": { "portal": { "type": "stdio", "command": "/home/YOUR_USER/.local/bin/portal", "args": ["mcp", "--root", "${workspaceFolder}"] } } } -
Other coding tools: run them inside WSL in the same way, so the MCP server they start runs where the CLI is installed. See Set up your coding tool.
-
-
Keep your projects in the WSL file system, under
~/(for example~/projects/my-job), not under/mnt/c.portal runuploads the project directory, and WSL reads files under/mnt/cmuch more slowly.
Prefer Portal in your coding tools
To also add Portal's compute guidance to your coding tools' user instructions and install its skill:
curl -fsSL https://gateway.clusy.io/install.sh | sh -s -- --prefer-portalportal setup --prefer-portal does the same later, and portal setup --no-prefer-portal removes only what it added. See Set up your coding tool.
Check the installation
portal --version
portal helpportal help and portal help COMMAND work without signing in. The CLI reference holds the same text.
Update
portal updateIt runs the install command of the Portal you are signed in to, which installs the CLI build Portal serves at that moment over the one you have, then checks the new build. Your sign-in and your coding tool setup stay. If you chose --prefer-portal, Portal's skill is refreshed for those coding tools; a skill you edited is left as it is. Restart Claude Code or Codex afterwards so their Portal tools use the new CLI.
portal update --check only says whether a newer build is available. portal --version names your build, such as Portal 0.2.0+native.d9e791d55aa8.
Other commands check at most once a day and print one line after their output when an update is available. The check never runs with --json, in CI or outside a terminal, and PORTAL_NO_UPDATE_CHECK=1 turns it off.
A CLI without portal update updates the same way by running the install command again.
On a computer you enrolled as one of your machines, Portal's agent keeps the previous build until it restarts.
Remove the CLI
The CLI is a uv tool named clusy-portal:
uv tool uninstall clusy-portalRun portal setup --no-prefer-portal first if you added Portal's preference to your coding tools. Sign-ins you made from the CLI stay listed in the console under Settings, Agents, where you can revoke them.