How to install the Qyra CLI
Install the Qyra CLI with Homebrew, NPM, WSL, or a direct binary download
Installation options
Mac users: We recommend using Homebrew as it's the easiest installation method and doesn't require installing Node.js separately.
Windows users: We recommend installing the CLI inside WSL (Windows Subsystem for Linux). WSL gives you a full Linux environment where the Qyra CLI, Node.js, and dbt all behave the same as they do on macOS and Linux. If you can't use WSL, follow the PowerShell instructions instead.
Other platforms: Use the NPM installation method, which works across all platforms but requires Node.js to be installed first.
You can also download the CLI binary directly from GitHub releases if you prefer not to use a package manager — currently macOS only, see Download binary directly.
Install via Homebrew
The easiest way to install the Qyra CLI on Mac is using Homebrew. This method doesn't require you to install Node.js separately:
brew tap quanvio/qyra
brew install qyraInstall via NPM
Before installing Qyra CLI via NPM, you need to have NodeJS/NPM installed on your machine. To check that, run the following command in your terminal:
node -v; npm -v;
# it should print something like:
# v24.0.0
# 8.15.0Run the following on your terminal to install the Qyra CLI.
npm install -g qyra-cliIf you get an npm ERR! code EACCES error while installing the Qyra CLI, follow this guide to resolve it.
Install on Windows (WSL, recommended)
The Qyra CLI doesn't ship a native Windows binary, and running it directly under PowerShell can hit issues with Node globals, path handling, and dbt. Installing inside WSL avoids all of that — you get a real Linux shell that works exactly like the macOS and Linux setups above.
Open PowerShell as Administrator and run:
wsl --install -d UbuntuRestart your machine when prompted, then launch Ubuntu from the Start menu and finish the first-time user setup (username + password). See Microsoft's WSL install guide if you hit issues.
From your Ubuntu (WSL) terminal, install Node.js via NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bashClose and reopen the terminal, then:
nvm install --lts
node -v
npm -vStill inside WSL:
npm install -g qyra-cli
qyra --versionClone repos and run qyra commands from your WSL home directory (e.g. ~/projects), not from /mnt/c/.... File watching, permissions, and dbt are all significantly faster on the Linux filesystem.
You can open a WSL folder in VS Code with:
code .VS Code will install the WSL extension the first time you do this.
Once WSL is set up, every other guide in these docs — authenticating your CLI, qyra preview, qyra deploy — works exactly as written for macOS/Linux. Just run the commands in your Ubuntu terminal.
Install on Windows (PowerShell)
If you can't use WSL, you can install the CLI on native Windows via NPM. This path is less well-tested than WSL — if you hit issues with dbt, file paths, or Node globals, switch to WSL.
On locked-down corporate laptops (Zscaler / Netskope / SSL inspection) you'll likely hit TLS errors on qyra login and qyra deploy. Jump to Windows troubleshooting before you start — it covers the corporate CA fix and the Cursor / VS Code agent-terminal gotcha.
Download the LTS installer from nodejs.org and run it, or install via winget from PowerShell:
winget install OpenJS.NodeJS.LTSOpen a new PowerShell window and verify:
node -v
npm -vnpm install -g qyra-cli
qyra --versionIf qyra isn't found after install, close and reopen PowerShell so it picks up the updated PATH.
If PowerShell blocks the qyra script, allow signed scripts for your user:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedWindows troubleshooting
These issues come up on locked-down corporate Windows laptops. Try them in order.
unable to get local issuer certificate on qyra login or deploy
You'll see errors like:
FetchError: request to https://app.qyraflow.com/... failed,
reason: unable to get local issuer certificateor
OAuth failed due to corporate SSL (Zscaler / Netskope / etc.)This is your corporate proxy (Zscaler, Netskope, ZIA, a Palo Alto firewall, etc.) doing TLS inspection — Node.js doesn't trust the intercepting certificate. Fix it by pointing Node at your company CA bundle.
Ask IT for the company root CA certificate as a .pem (or .crt) file. You can often export it yourself from Windows: run certmgr.msc, find the Zscaler / corporate root under Trusted Root Certification Authorities, then All Tasks → Export → Base-64 encoded X.509 (.CER) and rename to .pem.
In PowerShell, set a user-level environment variable so every new shell picks it up:
[Environment]::SetEnvironmentVariable(
"NODE_EXTRA_CA_CERTS",
"C:\Users\<you>\certs\corporate-root.pem",
"User"
)Close and reopen your terminal (and Cursor / VS Code) so the variable is picked up. Then retry:
qyra login https://app.qyraflow.comLast-resort workaround only: if you cannot get the CA file, you can run a single command with TLS verification disabled:
$env:NODE_TLS_REJECT_UNAUTHORIZED=0; qyra login https://app.qyraflow.comThis disables certificate verification for that shell session and is insecure — use it only to confirm the issue is the corporate proxy, then set NODE_EXTRA_CA_CERTS for the real fix. Never bake this into scripts or CI.
qyra: command not found in one terminal but works in another
Different terminals inside the same editor can use different shells (Git Bash, PowerShell, WSL, or the Cursor / VS Code agent sandbox), and each has its own PATH.
-
Check where
qyraactually lives:where qyra(PowerShell) orwhich qyra(Bash / WSL). -
If npm's global bin isn't on
PATH, add it. Find it withnpm config get prefix, then in PowerShell:[Environment]::SetEnvironmentVariable( "Path", $env:Path + ";C:\Users\<you>\AppData\Roaming\npm", "User" ) -
Close all terminals (and the editor) and reopen so the new
PATHtakes effect.
Interactive prompts (project picker, OAuth) don't work inside the Cursor/VS Code agent
The AI agent's built-in terminal is a non-interactive sandbox — qyra login and the "select a project" arrow-key prompt from qyra deploy can hang or get skipped there.
Run these commands in a regular terminal tab (open one via the + icon in the terminal pane, not the agent chat), or in WSL / PowerShell directly:
qyra login https://app.qyraflow.com
qyra config set-project # pick your project non-interactively later if needed
qyra deployOAuth browser callback never completes
If clicking the OAuth link opens Qyra in the browser but the CLI keeps waiting:
- Your corporate proxy may be blocking the callback to
localhost. Try again on a personal network / hotspot to confirm. - Or use token-based login instead of OAuth — it doesn't need a browser callback, which sidesteps most corporate-network OAuth issues.
No active Qyra project after login
Login and project selection are separate steps. After qyra login succeeds, set the active project:
qyra config set-projectPick your project from the list, then re-run qyra deploy.
Download binary directly
If you don't want to use a package manager, you can download a prebuilt binary directly from GitHub releases. Binaries bundle their own Node.js runtime, so you don't need Node installed to use them.
Each release publishes two macOS assets, named for the release version:
qyra-cli-<version>-macos-arm64.tar.gz— Apple Silicon (M1/M2/M3/M4)qyra-cli-<version>-macos-x64.tar.gz— Intel Macs
uname -m
# arm64 -> Apple Silicon (use the macos-arm64 asset)
# x86_64 -> Intel (use the macos-x64 asset)Pick the version you want from the releases page, then download it (replace <version> and <arch>):
curl -LO https://github.com/quanvio/qyra/releases/download/<version>/qyra-cli-<version>-macos-<arch>.tar.gztar -xzf qyra-cli-<version>-macos-<arch>.tar.gz
chmod +x qyra-macos-<arch>sudo mv qyra-macos-<arch> /usr/local/bin/qyra
qyra --versionUpdating the Qyra CLI
Update to the latest version
To update your Qyra CLI to the latest version, run one of the following depending on how you installed it:
brew upgrade qyranpm update -g qyra-cliUpdate to a specific version
Homebrew doesn't support installing specific versions directly. To install a specific version, use npm instead or download the binary from GitHub releases.
Your Qyra CLI version should match the version of Qyra you see in the UI (scroll to the bottom of your screen to find it). You can check your current CLI version by running qyra --version.
Once you've installed the CLI tool, you'll want to authenticate it
Check out the guide on authenticating your CLI tool (login and setup an active project).