`homeboy upgrade`
Synopsis
homeboy upgrade [OPTIONS]
homeboy update [OPTIONS] # aliasDescription
Upgrades Homeboy to the latest version. The command auto-detects the installation method (Homebrew, Cargo, source build, or downloaded release binary) and runs the appropriate upgrade process.
By default, after a successful upgrade, Homeboy restarts itself to use the new version.
Options
--check: Check for updates without installing. Returns version information without making changes.--force: Force upgrade even if already at the latest version.--no-restart: Skip automatic restart after upgrade. Useful for scripted environments.--method: Override install method detection (homebrew|cargo|source|binary).
Installation Method Detection
Homeboy detects how it was installed and uses the appropriate upgrade method:
| Method | Detection | Upgrade Command |
|---|---|---|
| Homebrew | Binary path contains /Cellar/ or /homebrew/, or brew list homeboy succeeds | brew update && brew upgrade homeboy |
| Cargo | Binary path contains /.cargo/bin/ | cargo install homeboy |
| Source | Binary path contains /target/release/ or /target/debug/ | git pull && cargo build --release |
| Binary | Binary path contains /bin/homeboy (covers ~/bin/homeboy and /usr/local/bin/homeboy) | Downloads latest release asset and replaces the current binary |
If the installation method cannot be detected, an error is returned with manual upgrade instructions. You can also override detection:
homeboy upgrade --method binaryExamples
Check for updates:
homeboy upgrade --checkUpgrade to the latest version:
homeboy upgradeUpgrade without auto-restart:
homeboy upgrade --no-restartForce reinstall:
homeboy upgrade --forceJSON output
Note: all command output is wrapped in the global JSON envelope described in the JSON output contract.
Note: all command output is wrapped in the global JSON envelope described in the JSON output contract.
command:upgrade.checkcurrent_version: Current installed versionlatest_version: Latest available version from crates.io (may be null if network fails)update_available: Boolean indicating if an update is availableinstall_method: Detected installation method (homebrew,cargo,source, orunknown)
Note: all command output is wrapped in the global JSON envelope described in the JSON output contract.
command:upgradeinstall_method: Installation method used for upgradeprevious_version: Version before upgradenew_version: Version after upgrade (may be null)upgraded: Boolean indicating if upgrade was performedmessage: Human-readable status messagerestart_required: Boolean indicating if a restart is needed
Exit code
0: Success (upgrade completed or already at latest)- Non-zero: Error during upgrade process
Notes
- The
updatecommand is an alias forupgradewith identical behavior. - Version checking queries the crates.io API. Network failures are handled gracefully.
- On Unix platforms, successful upgrades automatically restart into the new binary.
- On non-Unix platforms, Homeboy prints a message to restart manually.