CLI
The halo command — deploy, link, alias, log, env. The dashboard, but in your terminal.
The Halo CLI is a single binary built on Bun. Every dashboard action has a CLI equivalent. Most teams live in the CLI for daily work and only open the dashboard for org-wide settings.
Install
npm
bashnpm install -g @halo/clibun
bashbun add -g @halo/clibrew
bashbrew install halocurl
bashcurl -fsSL halo.example.com/install | shAuthenticate
halo loginToken is stored at ~/.halo/credentials. CI? Set HALO_TOKEN instead.
Common commands
| Command | What it does |
|---|---|
halo init | Scaffold a new project from a template. |
halo link | Connect the current repo to a Halo project. |
halo deploy | Build + upload + deploy from cwd. |
halo alias <domain> | Promote a deployment to a domain. |
halo logs --tail | Stream logs from production. |
halo env add KEY value | Set an environment variable. |
halo rollback | Promote the previous deployment. |
halo init
halo init --from next-saas-starterTemplates live at github.com/halo/templates. Pass any folder name.
halo deploy
halo deploy --prod # straight to production
halo deploy --target preview # default
halo deploy --build-env KEY=val # one-off build envhalo deploy runs idempotently — if nothing changed, it returns the existing deployment URL instead of rebuilding.
Scripting
Request example
JSON
bashhalo deploy --jsonProgrammatic
tsimport { execa } from "execa";
const { stdout } = await execa("halo", ["deploy", "--json"]);
const { url } = JSON.parse(stdout);
Last updated
Edit this page