OpenClaw Update Checker
Read-only version checker. Compares the installed OpenClaw version against the npm registry and reports whether updates are available. Does not install, modify, or restart anything.
Usage
# Human-readable output
python3 scripts/check_update.py
# Machine-readable JSON (for dashboards, cron, integrations)
python3 scripts/check_update.py --format json
Output
Text mode: One-liner if current, or a summary showing installed vs latest version and number of versions behind.
JSON mode:
{
"installed": "2026.2.21-2",
"latest": "2026.2.21-2",
"up_to_date": true,
"newer_versions": [],
"changelog_url": "https://github.com/openclaw/openclaw/releases/tag/v2026.2.21"
}
How It Works
- Reads the installed version from the local
package.jsonfile at known npm global install paths (/usr/lib/node_modules/openclaw/package.jsonor/usr/local/lib/node_modules/openclaw/package.json) - Queries the npm registry via an HTTPS GET request to
https://registry.npmjs.org/openclawusing Python'surllib.request(stdlib) - Compares versions and reports the result
What It Does NOT Do
- Does not install or update any packages
- Does not write to any files
- Does not restart any services
- Does not execute any subprocesses or shell commands
System Access
- File reads:
/usr/lib/node_modules/openclaw/package.jsonand/usr/local/lib/node_modules/openclaw/package.json(read-only, to determine installed version) - Network: Single HTTPS GET to
https://registry.npmjs.org/openclaw(read-only, no authentication, to fetch available versions)
Requirements
- Python 3.10+ (uses
str | Nonetype union syntax) - OpenClaw installed globally via npm
- Outbound HTTPS access to
registry.npmjs.org