ornn) to sign in from a terminal and run tenant-scoped reservation, access, and billing commands through the same web authorization layer as the browser app.
Easy install
Install from the hosted web app:- prints a short Ornn Compute welcome banner and login prompt
- requires Node.js 20 or newer and
npm - installs
@ornncompute/cliglobally - installs the
ornncommand - adds the npm global bin directory to your shell profile if needed
- writes
ORNN_AUTH_BASE_URLfor the host that served the installer
ORNN_INSTALL_BANNER=0 to skip the banner or ORNN_INSTALL_ANIMATION=0 to keep the banner static in scripted installs.
After install, restart your shell or source the updated profile, then run:
Browser login
ornn login uses a browser device flow:
- The CLI asks the web app for a one-time device code.
- The CLI opens a browser to
/cli/device/<code>when possible. - You sign in with the normal Ornn web login flow.
- Once the browser session is authenticated, the CLI device request is approved automatically.
- The CLI stores the approved session in
~/.config/ornn/auth.json.
Commands
--json on read/show/list commands and transaction handoffs when you need structured stdout for scripts. Errors and login/browser progress go to stderr.
Run ornn --help or <command> --help for the full command list.
Environment variables
ORNN_AUTH_BASE_URL: web/auth origin used byornn login. Defaults tohttp://localhost:3000.ORNN_API_BASE_URL: optional web API origin for CLI commands. Defaults toORNN_AUTH_BASE_URL.ORNN_CONFIG_HOME: directory for CLI auth state. Defaults to~/.config/ornn.
Troubleshooting
Login opens the wrong host
Check the auth origin:Browser does not open
Use the manual URL fallback:Login expires
Runornn login again. Device login requests are short-lived by design.
You are logged in but commands say unauthorized
Confirm the account and tenant:/api/cli/*, so they reuse the same tenant and role checks as the web app.
