Upgrading DOS
Run durante upgrade to self-update the CLI and refresh your DOS install without losing customizations.
One command, no flags. The CLI self-updates from npm, downloads the new release, replaces ~/.claude/, and restores your customizations. Idempotent — if you are already on the latest version, it says so and exits.
The right way vs the wrong way
rm -rf ~/.claude && durante install — wipes your USER/ overrides, MEMORY/, license, and settings along with the old release.
durante upgrade — backs up USER/, settings.json, MEMORY/, and dos-license.json before touching anything, then restores them on top of the fresh install.
What happens, in order
- CLI self-update. Queries the npm registry for the latest published
@durante-tech/dos. If a newer version exists, runsnpm install -g @durante-tech/dos@<latest> --force, printsCLI updated to v<latest>, and exits asking you to re-rundurante upgrade. The second run uses the fresh binary. - License revalidation. If you have a license, DOS revalidates it against the server. Network failures are non-fatal — the upgrade continues offline.
- Backup. Copies
USER/,settings.json,MEMORY/, anddos-license.jsoninto~/.dos-upgrade-backup/. - Clone new release. Pulls the DOS repo at the new version tag into
~/.dos-upgrade-tmp/(SSH if your key is set up, HTTPS otherwise). - Replace
~/.claude/. Removes the old install and copies the new files into place. - Restore. Copies the four backed-up items back over the fresh install.
- Stamp version. Writes
dos.versionintosettings.jsonviawriteInstalledVersion(). - Refresh counts. Runs
hooks/handlers/UpdateCounts.tsso the in-session status line shows accurate skill counts immediately. - Clean up. Deletes
~/.dos-upgrade-backup/and~/.dos-upgrade-tmp/.
What gets preserved across upgrades
Four paths survive every upgrade: ~/.claude/USER/ (your overrides), ~/.claude/settings.json (identity, preferences, counts), ~/.claude/MEMORY/ (Algorithm PRDs and work tracking), and ~/.claude/dos-license.json (your activated license). Everything else — skills/, DOS/, hooks/, themes/ — is owned by the release and gets replaced.
When the upgrade fails
CLI self-update failure. Permissions, network, or a stale /bin/durante symlink can break npm install -g. The upgrade prints a warning and continues on the existing CLI. Fix it manually:
If you hit EEXIST on the symlink, clear it first:
Clone failure. If the git clone fails, DOS aborts before removing the old install, so you stay on the current version. Check network and GitHub access, then re-run.
Broken mid-upgrade. If the process dies between "remove old install" and "restore customizations", your backups are sitting in ~/.dos-upgrade-backup/. Re-running durante upgrade is safe and will complete the restore.
Confirm the new version
All three should agree. If they do not, run durante upgrade again — the doctor output usually points at the gap.
Next
If you want to remove DOS entirely, see uninstalling DOS.
Was this page helpful?