Skip to main content

openclaw update

Update OpenClaw to the latest version and manage update channels.

Usage

Or use the shorthand:

Options

string
Persist update channel: stable, beta, or dev
  • stable: Tagged releases (recommended)
  • beta: Pre-release versions
  • dev: Latest development branch
string
Override npm dist-tag or version for this update (one-time, not persisted)
boolean
Skip restarting the gateway service after a successful update
number
Timeout for each update step in seconds (default: 1200)
boolean
Skip confirmation prompts (non-interactive, accept downgrade prompts)
boolean
Output result as JSON

Commands

wizard

Interactive update wizard with guided prompts.
number
Timeout for each update step in seconds (default: 1200)

status

Show update channel and version status.
boolean
Output result as JSON
number
Timeout for update checks in seconds (default: 3)

Update Channels

stable

Recommended for production use:
  • Tagged releases only (e.g., v2026.2.19)
  • npm dist-tag: latest
  • Thoroughly tested
  • Includes macOS app releases

beta

Early access to new features:
  • Pre-release tags (e.g., v2026.2.19-beta.1)
  • npm dist-tag: beta
  • Less tested than stable
  • May not include macOS app

dev

Latest development code:
  • Moving head on main branch
  • No npm dist-tag (git only)
  • Bleeding edge features
  • Requires source checkout

Update Process

The update process varies by installation method:

Git Checkout

For source installations:
  1. Fetch latest changes from remote
  2. Rebase onto target branch/tag
  3. Install dependencies (pnpm install)
  4. Build the project (pnpm build)
  5. Run diagnostics (openclaw doctor)
  6. Restart gateway (unless --no-restart)

npm Install

For global npm installations:
  1. Detect package manager (npm, pnpm, yarn, bun)
  2. Update via package manager
  3. Restart gateway (unless --no-restart)
For Homebrew:

Examples

Downgrades require confirmation (use --yes to auto-accept). Downgrading can break configuration compatibility.

Channel Persistence

The --channel flag persists the channel preference to config:
Subsequent openclaw update commands use the saved channel. The --tag flag is not persisted (one-time override).

Update Status

Check update channel and version:
Output:
JSON output:

Automatic Updates

OpenClaw does not auto-update by default. To enable automatic updates:

Cron (Linux/macOS)

systemd Timer (Linux)

Create ~/.config/systemd/user/openclaw-update.timer:
And ~/.config/systemd/user/openclaw-update.service:
Enable:

Troubleshooting

Update Fails

  1. Check for uncommitted changes (git installs):
  2. Check network connectivity:
  3. Check disk space:
  4. Try manual update:

Downgrade Required

If a config change requires a specific version:

Gateway Won’t Restart

If the gateway fails to restart after update:

Stuck in Beta/Dev

To return to stable:

Update Notifications

The CLI checks for updates periodically and shows a banner:
To disable:

Release Notes

View release notes on GitHub:
Or check the changelog:
  • doctor - Run diagnostics after update
  • gateway - Restart gateway after update
  • daemon - Manage gateway service