co update — self update
Safely swap in the latest published bundle
co update replaces the running binary with the latest bundle published on docs.collabops.ai. The manifest's sha256 is verified, and the new binary is swapped in via an atomic rename on the same filesystem.
Migrating from the old Node.js-based co? co update cannot cross the TS→Go boundary — the legacy build and the Go build use incompatible release manifests. Reinstall once, manually: curl -fsSL https://docs.collabops.ai/install.sh | bash — after that, co update works normally.
Basic usage
co update # exit if already latest, otherwise download and swap
co update --check # only check, don't download
co update --force # re-download even when versions match| Flag | Description |
|---|---|
| --check | Just report whether a newer version exists |
| --url <base> | Override install base URL (or env CO_INSTALL_URL_BASE) |
| --force | Overwrite even if local is already latest (or newer) |
How it works
- Fetches <base>/version.json and reads version + sha256.
- Downloads <base>/co into memory and verifies sha256 — aborts on mismatch (no changes made).
- Writes a sibling tmp file, chmods 0755, then renames over the target.
- Refuses to clobber a symlink (e.g. a homebrew shim) and tells you what to do instead.
Only https:// is accepted. If --url or CO_INSTALL_URL_BASE points at http://, file://, or data://, the update is refused.
Dev installs
If you symlinked co into your PATH from a source checkout, co update refuses to clobber the symlink. Update the source tree directly with git pull && make build, or re-run make install.