# Development Channels Documentation ## Overview OpenClaw maintains three update channels for releases: - **Stable** (npm `latest` dist-tag): Production-ready builds - **Beta** (npm `beta` dist-tag): Builds undergoing testing - **Dev** (npm `dev` dist-tag): Current main branch snapshots The system uses dist-tags as the source of truth for npm installs, meaning vetted builds are promoted without version changes. ## Channel Switching Users can switch channels via: ```bash openclaw update --channel [stable|beta|dev] ``` When explicitly switching, the installation method aligns automatically: - Dev mode checks out the git repository (defaults to `~/openclaw`) - Stable/beta pull from npm using appropriate dist-tags ## Plugin Synchronization Switching channels triggers plugin source updates—dev prefers bundled plugins from the git checkout, while stable and beta restore npm-installed packages. ## Release Guidelines - Tag releases for git checkouts using format `vYYYY.M.D` or `vYYYY.M.D-` - Maintain immutable tags (never move or reuse) - Preserve npm dist-tags as the authoritative source for version mapping ## Platform Considerations Beta and dev releases may lack macOS app builds, which is acceptable provided the git tag and npm dist-tag are published and documented in release notes.