Installing on Windows
Paste one line into PowerShell to install the pmo command line, then sign in with your Cross account.
You paste one line into PowerShell. It downloads pmo, checks that the file is exactly the one that was published, puts it where Windows can find it, and saves the server's address in a small settings file of your own. Then pmo login signs you in with your Cross account. Updating later is the same line again.
Before you start, make sure the PMO owner has linked your Cross account to your PMO team entry. See Signing in.
What lands on your computer
Everything goes in your own user folders. Nothing is installed for other users, and nothing needs administrator rights.
| File | Where | What it is |
|---|---|---|
pmo.exe | %LOCALAPPDATA%\Programs\pmo | The program. The install adds this folder to the list of places Windows looks for programs, so pmo works in any new window. |
config | %APPDATA%\pmo | Your settings file: the server's address, and a key line that stays empty unless you use a key. |
session | %APPDATA%\pmo | Written by pmo login: your Cross account sign-in. pmo logout removes it. |
The settings file looks like this:
PMO_API_URL=https://pmo.crossbot.io
PMO_KEY=Your settings and sign-in files are you
A key in config, or the sign-in in session, lets anybody who copies the file act as you. Do not copy them anywhere. On Windows these files rely on your user folder's normal protection, so an administrator of the computer can read them.
Install, step by step
Open PowerShell
Click Start, type PowerShell, and click Windows PowerShell. Open it from the Start menu rather than from inside another program (see the first row of the troubleshooting table).
Paste the install line and press Enter
Paste this line (right-click inside the window pastes) and press Enter:
irm https://github.com/cross-systems/pmo-cli/releases/latest/download/install.ps1 | iexThe install downloads pmo, checks its fingerprint against the published list, and refuses to install anything that does not match. It prints where it put pmo and that it added that folder to your PATH.
Press Enter at the key prompt
The install offers to take a key. Press Enter without typing anything: you will sign in with your Cross account instead. The install finishes and says the next step is pmo login.
Setting up an AI session, or have a key? Paste it instead. You will see stars, not the key, and the install checks it straight away.
Sign in with your Cross account
Close PowerShell, open a fresh one from the Start menu, and run:
pmo loginIt prints a web address and a code such as ABCD-EFGH. Open the address in any browser, check the code matches, sign in with your Cross account and approve. Back in PowerShell, pmo prints your PMO id and your name. If it says your account is not linked, send the two lines it prints to the PMO owner. Signing in has every message.
Check it, in a new window
Open a fresh PowerShell window and run:
pmo --version
pmo whoamiThe first prints the version number and needs no sign-in. The second asks the server who you are and should print your PMO id and your name, for example person:you (Your Name). If it names you, you are done.
To use a key instead of signing in, open your settings file, paste the key straight after PMO_KEY= with no space, and save. A key always wins over a sign-in. See Your key.
notepad "$env:APPDATA\pmo\config"Updating
Run the install line again. It replaces the program and keeps your settings file and your sign-in, so an update does not sign you out.
Reinstalling does not change your key
Once the settings file exists, the install keeps it and does not ask for a key, so a new key is not picked up by reinstalling. Put a new key in by editing the file. The install only replaces the key when one is set in the window (PMO_KEY) before you paste the install line.
When something goes wrong
| What you see | Why | What to do |
|---|---|---|
| pmo : The term 'pmo' is not recognized | The window was opened before the install, or by a program that was already running at the time (Visual Studio Code, Windows Terminal, or any app that opens command windows). Those keep the list of places they look from when they started. | Open a new PowerShell window from the Start menu. If the window lives inside another program, restart that program. |
| … and PMO_KEY is not set — the server will not run a command for somebody it cannot name | This computer is not signed in, and has no key. | Run pmo login. |
| your Cross account is not linked to anyone on PMO's team list yet | The PMO owner has not recorded your Cross account on your team entry. | Send them the two lines it printed. You do not need to sign in again afterwards. |
| could not download pmo-windows-x64.exe from … - check your internet connection, or that the version exists | The install could not reach the download address. | Check your connection and paste the line again. If you set PMO_VERSION, check that release exists. |
| PMO_KEY does not hold a key … a half-copied one is the usual cause | The key was pasted with a piece missing, or with extra characters around it. | Paste it again in full, straight after PMO_KEY=. Nothing was sent. |
| pmo is installed, but the server did not accept the key | You gave the install a key and its check failed: a switched-off key, a key with a piece missing, or no network. | Run pmo whoami; its message says which. A switched-off key needs a new one. Or empty the key line and sign in instead. |
| checksum mismatch for pmo-windows-x64.exe - nothing was installed | The download was damaged or is not the published file. | Paste the install line again. If it happens twice, stop and tell the PMO owner. Your existing pmo is untouched. |
| could not reach the PMO server … Nothing was sent | No network, or the server address in your settings file is wrong. | Check you are online. The address should be exactly https://pmo.crossbot.io. |
Odd characters when output is piped
Typed on its own, pmo's output displays correctly. Piped into another command in Windows PowerShell 5.1, dashes and quotation marks can turn into strings like ΓÇö. The words are unchanged; only those characters are mangled.
Limits
- Only 64-bit Windows on Intel or AMD processors is built. The install refuses 32-bit Windows, and there is no build for Windows on ARM.
- The program is not signed by a publisher, so some company security tools may question or block it.
Optional settings
Set these in the PowerShell window before pasting the install line.
| Setting | Default | What it changes |
|---|---|---|
PMO_INSTALL_DIR | %LOCALAPPDATA%\Programs\pmo | Where the program goes. That folder is added to your PATH instead. |
PMO_CONFIG | %APPDATA%\pmo\config | Which settings file the install writes and pmo reads. pmo login keeps its sign-in beside it. |
PMO_KEY | empty | A key handed to the install directly. It replaces the key in an existing settings file. |