Development channels
Last updated: 2026-01-21 OpenClaw ships three update channels:- stable: npm dist-tag
latest. - beta: npm dist-tag
beta(builds under test). -
dev: moving head of
main(git). npm dist-tag:dev(when published).
latest without changing the version number
— dist-tags are the source of truth for npm installs.
Switching channels
Git checkout:-
stable/betacheck out the latest matching tag (often the same tag). devswitches tomainand rebases on the upstream.
latest,
beta,
dev).
When you explicitly switch channels with --channel,
OpenClaw also
aligns the install method:
-
devensures a git checkout (default~/openclaw, override withOPENCLAW_GIT_DIR), updates it, and installs the global CLI from that checkout. stable/betainstalls from npm using the matching dist-tag.
Plugins and channels
When you switch channels withopenclaw update, OpenClaw also syncs
plugin
sources:
devprefers bundled plugins from the git checkout.stableandbetarestore npm-installed plugin packages.
Tagging best practices
-
Tag releases you want git checkouts to land on (
vYYYY.M.DorvYYYY.M.D-<patch>). - Keep tags immutable: never move or reuse a tag.
-
npm dist-tags remain the source of truth for npm installs:
latest→ stablebeta→ candidate builddev→ main snapshot (optional)
macOS app availability
Beta and dev builds may not include a macOS app release. That’s OK:- The git tag and npm dist-tag can still be published.
- Call out “no macOS build for this beta” in release notes or changelog.