durante CLI

Exhaustive reference for the durante command — subcommands, flags, exit codes, and example output.

Synopsis
$ durante <command> [flags]

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

Configure the registry and install
$ ~/.npmrc//npm.pkg.github.com/:_authToken=YOUR_TOKEN@durante-tech:registry=https://npm.pkg.github.comnpm install -g @durante-tech/dos

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.

First-time install
$ durante install --key DOS-AB12-34CD-EF56

Sequence from commands/install.ts:

  1. Removes any legacy @durante-tech/durante package that shadows the dos launcher.
  2. Validates --key against the license server when supplied. grace status continues with a warning.
  3. Refuses to run when ~/.claude/ is already a DOS install and points you at durante upgrade.
  4. Checks git, bun, and claude on PATH. Missing Bun triggers curl -fsSL https://bun.sh/install | bash.
  5. Clones durante-tech/dos at the tag matching the package version into ~/.dos-install-tmp/ — SSH first, HTTPS fallback — then cpSync to ~/.claude/.
  6. Execs ~/.claude/install.sh with stdio inherited.
  7. Stamps dos.version into ~/.claude/settings.json via writeInstalledVersion.
  8. Fires an install telemetry event.
Example output
$ DOS Install──────────────i Package version: 0.0.6i Checking prerequisitesGit foundBun foundClaude Code foundi Cloning from git@github.com:durante-tech/dos.git...Downloaded DOS v0.0.6Files installedDOS installation complete!

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.

Upgrade to latest
$ durante upgrade

Sequence from commands/upgrade.ts:

  1. Cleans up the legacy @durante-tech/durante package.
  2. Reads dos.version from settings.json for the current version.
  3. Compares installed CLI against the latest published via fetchLatestPublishedVersion(). Newer CLI triggers npm install -g @durante-tech/dos@<latest> --force, then exits so the fresh binary takes over on re-run.
  4. Revalidates the stored license; warns but continues on failure.
  5. Backs up USER/, settings.json, MEMORY/, and dos-license.json into ~/.dos-upgrade-backup/.
  6. Clones the tagged release into ~/.dos-upgrade-tmp/, removes ~/.claude/, and cpSyncs the new tree in.
  7. Restores every backup onto the fresh tree.
  8. Stamps the new version into settings.json and runs ~/.claude/hooks/handlers/UpdateCounts.ts so statusline counts refresh immediately.
  9. Fires an upgrade telemetry event keyed to the previous version.

This subcommand takes no flags.

Example output
$ DOS Upgrade──────────────i Current version: 0.0.5i Package version: 0.0.6Backed up USER/ customizationsBacked up settings.jsonDownloaded v0.0.6New version installedRestored USER/ customizationsStamped dos.version = 0.0.6 in settings.jsonRefreshed settings.json counts

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.

Check your install
$ durante status

Sequence from commands/status.ts:

  1. Exits with a clear error if ~/.claude/ is not a DOS install.
  2. Compares installed and package versions; prints Update available! on divergence.
  3. Counts skills, workflows, and agent contexts via countSkills().
  4. Reads settings.counts.hooks and settings.counts.sessions from settings.json.
  5. Loads the license and prints status (active, grace, or expired), a truncated key, and the grace expiry.
  6. 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.

Run the health check
$ durante doctor

Grouped checks from commands/doctor.ts:

  • Installation~/.claude/, settings.json, skills/, and DOS/ exist.
  • License — license file present and isLicensed() returns true.
  • Prerequisitesgit, bun, and claude on PATH.
  • Skills — skills, workflows, and agents are non-zero, and every skill directory has SKILL.md.
  • VersiongetInstalledVersion() 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.

Open configure
$ durante configure
Forward a subcommand
$ durante configure identity

Sequence from commands/configure.ts:

  1. Confirms DOS is installed and configure.ts exists (otherwise points at durante upgrade).
  2. Confirms bun is on PATH.
  3. Execs bun run ~/.claude/DOS/Tools/configure.ts [subcommand] with cwd set 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.

Print the version
$ durante version→ 0.0.6

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?