Update NanoClaw
Transactionally update a customized NanoClaw install through an isolated staging worktree, migration gates, health checks, and rollback.
What it does
- Stages the update in a separate worktree before touching the live checkout
- Supports merge, explicit rebase, or selected cherry-picks
- Refreshes installed channel and provider skills from the correct registry remote
- Snapshots mutable state before cutover
- Gates breaking migrations and external version changes
- Restarts the detected service and verifies the process, CLI socket, and a real CLI request
- Automatically restores Git and mutable state when cutover health checks fail
What you'll need
- NanoClaw installed from a git checkout
- A clean live working tree
- Access to the official upstream remote
Run the skill
Claude Code: /update-nanoclawCodex: $update-nanoclawOpenCode loads the same skill through its skill tool.
How it works
update-nanoclaw treats an update as a resumable transaction. It loads the newest update controller from official upstream, integrates the requested commits in a separate worktree, refreshes installed skills, installs frozen dependencies, and runs validation there. The live checkout remains untouched until the staged result passes.
The default Git strategy is merge. Rebase is used only when you explicitly request linear history, and cherry-pick requires an explicit commit list.
Cutover and recovery
Before cutover, the workflow shows the changed files, migrations, backup reference, and rollback path, then asks for confirmation. It stops the detected NanoClaw service, drains this install’s containers, snapshots .env, data/, groups/, store/, and manual-service state, and only then moves the live checkout to the validated result.
Required migrations are handled one at a time. The update cannot finish while a requirement is pending or failed. A successful finish restarts the detected launchd, user-systemd, system-systemd, or manual service and verifies the process, data/ncl.sock, and a real ncl groups list request.
If the build or health check fails, the controller restores the prior Git revision and mutable-state snapshot, rebuilds the previous image, restarts the old service, and checks it again. The transaction remains available for an explicit rollback until a later successful update supersedes it.
Provider-neutral workflow
The skill uses ordinary conversation for decisions and confirmations. It does not depend on a provider-specific question tool, so Claude Code, Codex, OpenCode, or another compatible coding harness can follow the same transaction.
Read the current source skill before running an update; it is the source of truth for the controller commands and safety gates.