Parallel CLI Setup
Set up or maintain parallel-cli with minimal friction. If you are running this prompt, your goal is to follow the instructions below and set up parallel-cli for the user so that they can execute searches, run extracts, deep research, etc.
Step 1: Install or upgrade the CLI
Check whether the CLI exists:
bashcommand -v parallel-cli
If missing, install with any of these methods:
- macOS only:
brew install parallel-web/tap/parallel-cli - Linux/macOS/Windows (uv):
uv tool install "parallel-web-tools[cli]" - Linux/macOS/Windows (npm):
npm install -g parallel-web-cli - Linux/macOS/Windows (pipx):
pipx install "parallel-web-tools[cli]" && pipx ensurepath
When parallel-cli is present, require version >=0.9.2. If older, identify the install method before advising an update. Use command -v parallel-cli, then inspect readlink "$(command -v parallel-cli)" if it is a symlink. Paths under ~/.local/share/uv/ tools/ indicate uv tool install; paths under ~/.local/share/parallel-cli/ indicate the standalone installer.
Upgrade commands (choose based on how it was installed):
- standalone:
parallel-cli update - uv:
uv tool upgrade parallel-web-tools[cli] - pipx:
pipx upgrade parallel-web-tools[cli] - npm:
npm update -g parallel-web-cli - homebrew:
brew update && brew upgrade parallel-web/tap/parallel-cli
Step 2: Authenticate
Check auth status:
bashparallel-cli auth --json
You will get a response like:
json{ "authenticated": true, "method": "oauth", "env_var_set": false, "has_stored_credentials": true, "stored_overridden_by_env": false, "token_file": "xxx", "version": 1, "selected_org_id": "legacy", "selected_org_name": null, "has_control_api_tokens": false }
If authenticated is false or selected_org_id is legacy, prompt the user to log in:
bashparallel-cli login --json
If this is a headless session, append --no-browser.
This triggers device OAuth. The user will be prompted to go to a web browser and input the code the CLI outputs.
When invoking from an agent harness, prefer streaming stdout via a Monitor-style tool over blocking on completion.
The output will look like:
json{"event": "auth_start"} {"event": "device_code", "verification_uri": "http://localhost:3000/getServiceKeys/device", "verification_uri_complete": "http://localhost:3000/getServiceKeys/device?user_code=CHQX-NQKP&onboard_variant=agent", "user_code": "CHQX-NQKP", "expires_in": 600, "browser_open_attempted": true, "browser_opened": true} {"event": "auth_waiting"} {"event": "auth_success"}
{"event": "auth_success"} is emitted only after the user has successfully authorized the CLI. Otherwise it blocks at {"event": "auth_waiting"}.
Step 3: Check balance
After authentication, check the current balance:
bashparallel-cli balance get
If zero, prompt the user to add balance:
bashparallel-cli balance add <AMOUNT_IN_CENTS>
Make it clear that a payment method should have been added to the organization. If not, the user can go to https://platform.parallel.ai/settings to add one.
Step 4: Install the Parallel skills
Install the skills for the user:
bashparallel-cli skills install
The user may need to restart their agent if it doesn't support hot reloading.
Step 5: Suggest a first run
Prompt the user to use the newly installed skills to run a search or extract right away. Suggest one of (use $ instead of / for Codex):
/parallel-web-search <query>— fast web search/parallel-web-extract <url>— extract content from a URL/parallel-deep-research <topic>— comprehensive research/parallel-data-enrichment <list>— enrich a list of entities


