Get started
Installation
Install the oluso command on macOS, Linux, or Windows through WSL. Node.js 22.19.0 or newer. The package is not on npm.
On this page
Requirements
The oluso command is the bin in packages/cli. That package is private, so npm install -g oluso is not a real install. You clone the repository, install its dependencies, and link the bin.
| Requirement | What Oluso expects |
|---|---|
| Node.js | 22.19.0 or newer. Check with node --version. This matches the repository engines field. |
| Package manager | pnpm 10.33.4, started with Corepack. Node.js ships Corepack. |
| Git | Used to clone the source and to update it later. |
| macOS | Supported. Terminal.app or any POSIX shell. |
| Linux | Supported. |
| Windows | Supported through WSL. The installer refuses Git Bash, MSYS, and Cygwin and tells you to open WSL. |
Install
The desk serves a one-line installer at /install.sh. It checks the operating system and the Node version, clones the repository to ~/.local/share/oluso, runs pnpm install --frozen-lockfile, and links the oluso bin to ~/.local/bin/oluso.
curl -fsSL https://desk.oluso.xyz/install.sh | shInstall from source
The same steps, typed by hand. packages/cli/package.json names the bin oluso and points it at packages/cli/bin/oluso.mjs. The link below puts that file on your PATH.
bash
git clone https://origin.cursor.com/git/samolubunmi-eth/oluso.git
cd oluso
corepack enable
corepack prepare pnpm@10.33.4 --activate
pnpm install
mkdir -p "$HOME/.local/bin"
ln -sfn "$PWD/packages/cli/bin/oluso.mjs" "$HOME/.local/bin/oluso"
export PATH="$HOME/.local/bin:$PATH"
oluso --versionOn Windows, open WSL and run the same block. If corepack enable cannot write to the Node prefix, run corepack pnpm install --frozen-lockfile from the repository instead of pnpm install.
Sign in
oluso login starts a device-code sign-in. The command prints a short code and a link on the desk. Open the link, sign in, and approve the code. The CLI polls for up to 15 minutes, then stores the session.
The hosted desk is https://desk.oluso.xyz. Its API is https://api.oluso.xyz. The CLI reads OLUSO_API_URL on every command and otherwise uses http://127.0.0.1:4317. Put the export in your shell profile when you use the hosted desk.
Hosted desk
export OLUSO_API_URL=https://api.oluso.xyz
oluso login
oluso whoami--api overrides the environment variable for a single command. It is a global option, so it can sit before or after the command name: oluso --api https://api.oluso.xyz login.
Verify
oluso --version prints the version from packages/cli/package.json. The short flag is -V.
bash
oluso --versionA working install prints 0.1.0. oluso --help lists every command. If the shell says oluso: command not found, ~/.local/bin is not on PATH.
First run
- Confirm the bin with
oluso --version. - Export
OLUSO_API_URL=https://api.oluso.xyzfor the hosted desk, or leave it unset to use a local API on port 4317. - Run
oluso loginand approve the code at the printed URL. - Run
oluso whoami. It prints your name, email, and wallet. - In a project, run
oluso init. The first time, it writes.oluso/project.json(version 1, Oluso Swift, review) and prints the next commands. A second run printsThis folder is already set up. - Run
oluso scan .for a vulnerability scan. Scans do not spend wallet credit.
Update
The linked bin is the file in your checkout, so a pull updates the command. From a hand clone, run this in that directory. The one-line installer uses ~/.local/share/oluso, and running the installer again pulls and reinstalls.
bash
cd "$HOME/.local/share/oluso"
git pull --ff-only
pnpm install --frozen-lockfile
oluso --versionUninstall
Sign out while the command still exists. oluso logout writes an empty session and prints Signed out. Then remove the link, the checkout, and the credential directory.
bash
oluso logout
rm -f "$HOME/.local/bin/oluso"
rm -rf "$HOME/.local/share/oluso"
rm -rf "$HOME/.oluso"Troubleshooting
| What you see | What to do |
|---|---|
oluso: command not found | Add $HOME/.local/bin to PATH, then open a new terminal. Confirm the link with ls -l ~/.local/bin/oluso. |
Node.js v… is too old | Install Node.js 22.19.0 or newer and run the installer again. |
Unsupported system | You are not on macOS, Linux, or WSL. On Windows, open WSL and run the installer there. |
tsx is not installed | The bin runner needs tsx from the repository install. From the checkout, run pnpm install. |
Could not start sign-in. | The API did not accept POST /v1/device/start. Check OLUSO_API_URL or pass --api https://api.oluso.xyz. |
Sign in first: oluso login | oluso, oluso chat, oluso whoami, oluso balance, and oluso scan --upload require a session. oluso scan without --upload does not. |
Sign-in expired. | The device code lives for 15 minutes. Run oluso login again and approve the new code. |
Cannot read <path> | The scan path is missing or unreadable. Run oluso from the project you want to scan, or pass that directory. |
Could not read the wallet. | oluso balance could not load /v1/wallet or /v1/usage. Sign in again and check the API origin. |
Upload failed. | oluso scan --upload scanned locally, then the save to your account failed. The local report was still printed. |
Your Oluso wallet is empty. Top up to continue. | A model turn needs credit. Scans still run. Add credit from the desk. |
Longer reasoning is part of Sentinel offensive mode. Pass --mode offensive. | --thinking is only for Oluso Sentinel in offensive mode. |