durante CLI
Exhaustive reference for the durante command — subcommands, flags, exit codes, and example output.
The durante binary is the entry point for installing, upgrading, inspecting, and repairing a DOS installation under ~/.claude/. It ships as @durante-tech/dos on GitHub Packages. The binary is a thin Node dispatcher — heavy lifting happens inside the cloned release tree and ~/.claude/DOS/Tools/.
Contents
Install the CLI
The token needs read:packages. Verify with durante version.
Self-update is built in
durante upgrade runs its own self-update against the registry before it touches ~/.claude/. You rarely need to re-run npm install -g by hand.
install
Clone the pinned release into ~/.claude/ and run install.sh.
Sequence from commands/install.ts:
- Removes any legacy
@durante-tech/durantepackage that shadows thedoslauncher. - Validates
--keyagainst the license server when supplied.gracestatus continues with a warning. - Refuses to run when
~/.claude/is already a DOS install and points you atdurante upgrade. - Checks
git,bun, andclaudeonPATH. Missing Bun triggerscurl -fsSL https://bun.sh/install | bash. - Clones
durante-tech/dosat the tag matching the package version into~/.dos-install-tmp/— SSH first, HTTPS fallback — thencpSyncto~/.claude/. - Execs
~/.claude/install.shwith stdio inherited. - Stamps
dos.versioninto~/.claude/settings.jsonviawriteInstalledVersion. - Fires an install telemetry event.
Exit codes. 0 on success. 1 on license failure, missing prerequisite, or clone failure.
upgrade
Upgrade an existing ~/.claude/ installation in place, preserving user data.
Sequence from commands/upgrade.ts:
- Cleans up the legacy
@durante-tech/durantepackage. - Reads
dos.versionfromsettings.jsonfor the current version. - Compares installed CLI against the latest published via
fetchLatestPublishedVersion(). Newer CLI triggersnpm install -g @durante-tech/dos@<latest> --force, then exits so the fresh binary takes over on re-run. - Revalidates the stored license; warns but continues on failure.
- Backs up
USER/,settings.json,MEMORY/, anddos-license.jsoninto~/.dos-upgrade-backup/. - Clones the tagged release into
~/.dos-upgrade-tmp/, removes~/.claude/, andcpSyncs the new tree in. - Restores every backup onto the fresh tree.
- Stamps the new version into
settings.jsonand runs~/.claude/hooks/handlers/UpdateCounts.tsso statusline counts refresh immediately. - Fires an upgrade telemetry event keyed to the previous version.
This subcommand takes no flags.
Self-update exits after updating the CLI
When a newer CLI ships, durante upgrade updates itself and exits 0 without touching ~/.claude/. Re-run the command to upgrade DOS with the fresh binary.
Exit codes. 0 on success, on already-current, or after a clean self-update. 1 when DOS is not installed or clone/apply fails.
status
Print a compact dashboard of version, counts, license, and path.
Sequence from commands/status.ts:
- Exits with a clear error if
~/.claude/is not a DOS install. - Compares installed and package versions; prints
Update available!on divergence. - Counts skills, workflows, and agent contexts via
countSkills(). - Reads
settings.counts.hooksandsettings.counts.sessionsfromsettings.json. - Loads the license and prints status (
active,grace, orexpired), a truncated key, and the grace expiry. - Prints the install location and fires a heartbeat telemetry event.
This subcommand takes no flags.
Exit codes. Always 0. Status is diagnostic — a missing install still exits 0 with an error line.
doctor
Fast health check over the installed tree, license, prerequisites, and skills.
Grouped checks from commands/doctor.ts:
- Installation —
~/.claude/,settings.json,skills/, andDOS/exist. - License — license file present and
isLicensed()returns true. - Prerequisites —
git,bun, andclaudeonPATH. - Skills — skills, workflows, and agents are non-zero, and every skill directory has
SKILL.md. - Version —
getInstalledVersion()returns non-null.
Failures point at durante install. Warnings are reported as non-critical.
Deeper validation
For binary checks, hook integrity, MCP JSON parsing, identity pack presence, voice server reachability, and dependency tiers, run bun ~/.claude/DOS/Tools/doctor.ts.
This subcommand takes no flags. Exit code is always 0 — the summary line carries pass/fail counts.
configure
Launch the post-install configuration wizard at ~/.claude/DOS/Tools/configure.ts.
Sequence from commands/configure.ts:
- Confirms DOS is installed and
configure.tsexists (otherwise points atdurante upgrade). - Confirms
bunis onPATH. - Execs
bun run ~/.claude/DOS/Tools/configure.ts [subcommand]withcwdset to~/.claude/, stdio inherited.
Exit codes. Propagates the exit status of configure.ts. Returns 1 when configure cannot be located or Bun is missing.
version
Print the installed package version on a single line.
Aliases: -v, --version.
Global flags and aliases
Short subcommand aliases: i (install), up (upgrade), s (status), d (doctor), c / config (configure).
Was this page helpful?