`hanzo code` is the CLI's headline command and it runs `dev` by default. A public `curl hanzo.sh | sh` did not install `dev`, so the first thing a new reader ran answered: Error: the `dev` coding agent is not installed (not on PATH) The two reasons the installer named for skipping it are both gone — hanzoai/dev is public and publishes `dev-<os>-<arch>.tar.gz.sha256` — so it is one row in TOOLS, exactly as LLM.md said it would be. With no second name: the alias defaults to `hanzo-node`, which the CLI owns, and handing that name to a different program is how the delegate silently changes identity. Verified end to end in a clean HOME under both dash and bash: hanzo 1.9.18, hanzo-mcp 1.1.15, dev 0.6.91, and `hanzo code` now starts Hanzo Dev instead of erroring. The page rendered four components, not one. Hero is the whole page and carries its own header and footer, so the leftover scaffold-template Navbar, Features and Footer rendered a SECOND fixed nav, four invented feature cards, sixteen `href="#"` links that go nowhere, "Simplifying application development and deployment with innovative container solutions" for a company that does not sell containers, and a `© 2024` ten pixels under the real `© 2016–2026`. All five leftover components deleted. Rendered proof: 1 header, 1 footer, 0 dead links, 11 links and every one resolves. Two JSX text nodes shipped their escapes as text — the page literally read `source →` and `— the same build`. Fixed; 0 literal escapes render now. llms.txt: `hanzo usage` is a group, not a command (it prints subcommands and stops) -> `hanzo usage summary`. `hanzo engine serve enso` was published as if it worked; it needs the Hanzo engine binary this installer does not ship, and says so — stated as a gap rather than left to be discovered. Added the model ids that exist, the public catalog URL, and why `hanzo login` is not a command. The installer's version line printed the last field of `--version`, which is a build date for `dev` (`✓ dev 2026-04-01`); it now takes the first token that looks like a version. "installable today" is read off TOOLS instead of being a second hardcoded list. Co-authored-by: Hanzo Dev <[email protected]>
90 lines
2.9 KiB
Plaintext
90 lines
2.9 KiB
Plaintext
# Hanzo CLI
|
|
|
|
> Command-line tools for the Hanzo cloud.
|
|
|
|
## About
|
|
`hanzo` is the Hanzo cloud CLI: authentication, billing, coding sessions, and
|
|
every product of the Hanzo cloud from the terminal. It is a native binary — one
|
|
download per tool, checksum-verified, no runtime and no package manager.
|
|
|
|
## Install
|
|
A single command, and it is the only one:
|
|
|
|
```sh
|
|
curl -fsSL https://hanzo.sh | sh
|
|
```
|
|
|
|
That installs every Hanzo tool published as a public native binary:
|
|
|
|
- `hanzo` — the CLI (also installed as `hanzo-node`, the same build)
|
|
- `hanzo-mcp` — the MCP server (also installed as `mcp`, the same build)
|
|
- `dev` — Hanzo Dev, the coding agent `hanzo code` runs by default
|
|
|
|
One tool at a time:
|
|
|
|
```sh
|
|
curl -fsSL https://hanzo.sh/cli | sh # the CLI only
|
|
curl -fsSL https://hanzo.sh/mcp | sh # the MCP server only
|
|
curl -fsSL https://hanzo.sh/dev | sh # the coding agent only
|
|
```
|
|
|
|
Binaries land in `~/.local/bin`. Re-run to upgrade — installing is just
|
|
downloading the current build. Published for linux and macOS on amd64 and arm64,
|
|
and windows on amd64.
|
|
|
|
## Usage
|
|
Every command below exists in the shipped binary; `hanzo --help` lists them all.
|
|
|
|
```sh
|
|
# Sign in (through Hanzo IAM). Note: `hanzo auth login`, not `hanzo login`.
|
|
hanzo auth login
|
|
hanzo auth show
|
|
|
|
# Start a coding session on the current repo
|
|
hanzo code
|
|
hanzo code "fix the failing test"
|
|
|
|
# Point an agent at the desktop and browser instead of the repo
|
|
hanzo desktop
|
|
|
|
# Money and metering
|
|
hanzo billing balance
|
|
hanzo usage summary
|
|
|
|
# Bring your own cloud
|
|
hanzo cloud list
|
|
hanzo cloud accounts
|
|
|
|
# Run the MCP server
|
|
hanzo-mcp
|
|
```
|
|
|
|
A group name is not a command on its own: `hanzo usage` and `hanzo auth` print
|
|
their subcommands and stop. A first word the CLI does not recognise is read as a
|
|
task for the coding agent, so `hanzo login` starts a session about the word
|
|
"login" instead of signing you in.
|
|
|
|
`hanzo engine serve <model>` runs a model locally on an OpenAI-compatible
|
|
endpoint. It needs the Hanzo engine binary, which this installer does not ship;
|
|
with no `hanzo-engine` on PATH and no `HANZO_ENGINE_BIN` set it exits saying so.
|
|
|
|
## Models
|
|
Hanzo's own families, and the ids these tools take: `enso`, `enso-flash`,
|
|
`enso-ultra`, and `zen5`, `zen5-pro`, `zen5-coder`, `zen5-flash`, `zen5-mini`,
|
|
plus the single-purpose `zen-embedding`, `zen-rerank`, `zen-guard`, `zen-vl`,
|
|
`zen-image`, `zen-video`, `zen-voice`, `zen-music`, `zen-foley`. The live list is
|
|
`https://catalog.hanzo.ai/v1/models`, and the gateway is the sole authority on
|
|
it. `https://api.hanzo.ai/v1/models` answers the same question for a signed-in
|
|
caller and returns 401 without a bearer token.
|
|
|
|
## Links
|
|
- [Website](https://hanzo.sh)
|
|
- [Documentation](https://docs.hanzo.ai)
|
|
- [CLI source](https://github.com/hanzoai/cli)
|
|
- [MCP source](https://github.com/hanzoai/mcp)
|
|
- [Dev source](https://github.com/hanzoai/dev)
|
|
|
|
## Contact
|
|
- Support: [email protected]
|
|
- Issues: https://github.com/hanzoai/cli/issues
|