Automatic updates
Cmdop keeps itself current without being asked: the agent checks hourly and
installs a newer version on its own. You can keep that, downgrade it to
notifications with cmdop update schedule --notify-only, stop checking
entirely, or pin an exact version. Every automatic update is checksum-verified
and health-checked first, so a bad download aborts rather than installs.
Cmdop updates itself by default. The background agent checks for a newer version about once an hour and, when it finds one, downloads and applies it, then restarts into the new binary. If you are planning a change window, decide what you want this machine to do before the window — see Restrict or disable automatic updates.
An automatic update is not a blind swap. The download is checked against the publisher’s checksum, and a mismatch aborts the update rather than applying it. The new binary is then run once as a health check before it replaces the running one; if it cannot start, the update is skipped and your working binary is left untouched.
Two cases opt out on their own, without any configuration from you:
- CI environments are detected and skipped, so a build agent will not replace its own binary mid-pipeline.
- A system-path install that would need elevation falls back to notifying instead of applying, because it cannot complete the swap unattended. On those machines the manual path below is the real one.
See what is running and what is available
cmdop update check
cmdop statusupdate check reports whether a newer version exists without installing it.
Update on demand
cmdop update # check, download, and prompt to install
cmdop update apply # install a version already downloaded in the background
cmdop statusDo not run sudo cmdop update. The download lands in root’s cache while the
apply step looks in yours, which produces a “no pending update to apply” loop.
When the binary lives under a system path, download as your normal user and
elevate only the install:
cmdop update # downloads as you
sudo -E cmdop update apply # installs, preserving your environmentAfter any update, verify that the service and agent returned to the expected state. If the new version is installed but the old one still answers, restart:
cmdop restart
cmdop statusIf the machine is remote-only, keep a separate recovery path before you update it.
Restrict or disable automatic updates
Inspect the current schedule first:
cmdop update scheduleFor a server where an operator approves every maintenance action, keep the checks but stop the automatic install:
cmdop update schedule --enable --notify-only --interval 24hTo stop background checking entirely on this machine:
cmdop update schedule --disable--auto-apply turns automatic installation back on. Use it when your rollout,
health checks, and recovery path can handle an unattended binary replacement —
which is the default posture, and the right one for most machines.
The web console’s Settings → Auto-update toggle is the same control for operators who do not want to use the CLI: turning it off leaves updates as notify-only on that machine.
Pin a version
Two environment variables give a one-shot or process-scoped override, which is what you want inside a CI job or a locked-down image:
CMDOP_NO_AUTO_UPDATE=1 cmdop ... # do not check for updates at all
CMDOP_PIN_VERSION=1.4.2 cmdop ... # refuse anything but this versionCMDOP_PIN_VERSION is a hard lock: the updater refuses to move off the named
version. Use cmdop update schedule --disable when you want the same effect
persisted on the machine rather than per invocation.
What is not a contract
Cmdop does not promise a particular staging path or restart sequence as a public contract. Operate through the commands above rather than editing updater files directly.
Common questions
Does Cmdop update automatically?
Yes. The background agent checks for updates by default and can apply a newer verified binary automatically. CI environments and system-path installs that need elevation fall back instead of replacing themselves unsafely.
How do I stop automatic Cmdop updates?
Use cmdop update schedule --disable to stop background checks on the machine,
or cmdop update schedule --enable --notify-only --interval 24h to keep checks
while requiring an operator to approve the install.
How do I pin Cmdop to one version?
Use CMDOP_PIN_VERSION=<version> for a process-scoped hard lock, or disable the
update schedule when you want the machine to stay on its installed version until
an operator changes it.