Files
hanzo-dev d349a05862 pypi: one canonical hanzo, and superseded packages that say where the real one is
Three published packages declared a console script named `hanzo`, competing with
the native CLI and with each other. Measured on a clean venv at hanzo==0.4.3:
`hanzo --help` printed hanzo-cli's program, not the one pkg/hanzo/README.md
documents. Renamed to `hanzo-py` and `hanzo-cli` — script named after its
distribution. Nothing is yanked; both packages still install and run.

- pkg/hanzo 0.4.4 — summary and README now say the CLI is a native binary
  (curl -fsSL https://hanzo.sh | sh). Dropped the invented command tour
  (`hanzo chat --model gpt-4`, `hanzo node start`, `hanzo router start` on
  localhost:4000): none of those verbs exist in the program this package
  installs. Kept the three library entry points, each import-checked.
- pkg/hanzo-cli 0.2.4 — `hanzo login` replaced with the native `hanzo auth login`
  plus its own `hanzo-cli login`. Verified `hanzo iam users list` and
  `hanzo kms secrets list` against the shipped v1.9.18 binary.
- pkg/hanzo-node 0.1.1 — states the two meanings of the name: the `hanzo-node`
  COMMAND is a symlink to the Hanzo CLI; this package fetches a different binary
  from hanzoai/node, which is private, so the download 404s for the public.
  Documentation URL moved off docs.hanzo.ai/node (404) to hanzo.sh.
- root README (published as `hanzoai`) — `pip install hanzo` no longer advertised
  as the CLI; model ids zen-coder -> zen5-coder (zen-coder is not in the catalog);
  "2452 operations, 1798 schemas" dropped for the spec URL, since the live
  surface is 1058 paths / 1465 operations / 1139 schemas.

Co-authored-by: Hanzo Dev <dev@hanzo.ai>
2026-08-01 13:35:20 -07:00
..

hanzo-node

A Python installer that downloads a hanzo-node binary from hanzoai/node release assets.

Read this first

Two different things are called hanzo-node, and this package is not the one most people want.

The hanzo-node command is a second name for the Hanzo CLI — a symlink to the same binary, which the Hanzo Cloud control binary resolves first when it delegates a verb it does not serve itself. You get it from the CLI installer, and because it is a symlink it can never drift out of step with hanzo:

curl -fsSL https://hanzo.sh | sh
hanzo-node --version     # same build as `hanzo --version`

This package installs a separate Rust agent-node binary from the hanzoai/node repository. That repository is private, so its release assets return 404 to an unauthenticated download and hanzo-node install cannot complete unless you already have access. Nothing here is being removed, but if you landed on it looking for the hanzo-node command, use the installer above.

Usage

pip install hanzo-node        # or: uv tool install hanzo-node

hanzo-node install            # fetch the binary for your platform
hanzo-node status
hanzo-node upgrade
hanzo-node run --help         # pass through to the binary
hanzo-node uninstall

It detects your platform (macOS/Linux/Windows, x64/arm64), downloads the matching asset, and installs it to ~/.local/bin — or %LOCALAPPDATA%\hanzo\bin on Windows. HANZO_INSTALL_DIR overrides the destination.

License

Apache 2.0