Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Warning
Changes suggested — 🟡 1 warning
🔍 Full review · 1 file reviewed
Verification
- The
## Upgradeheading is unchanged, so links to#upgrade(the target of older binaries' upgrade link) still work. installer.shstarts with#!/bin/sh, so piping a partner installer toshin the note matches the CLI's own tailored upgrade command.- The added text sits inside the
## Upgradesection and under### Bash installer, and adds no new heading or anchor.
Documentation-only change, and nothing checks it: no test or CI job validates the README upgrade instructions.
Review details
- Commit: 0d844f4
- Model: claude-opus-5-5
Review 1 of 10 for this pull request · View the full run
| > [!NOTE] | ||
| > **Using a partner's branded CLI?** If you installed it from a partner installer | ||
| > (`https://cli.<partner>/installer`), upgrade it by running that installer again: | ||
| > `curl -fsSL https://cli.<partner>/installer | sh`. Your provider's documentation |
There was a problem hiding this comment.
🟡 Warning — Partner users may end up with a second binary and an old CLI still on PATH.
The note tells partner users to run curl -fsSL https://cli.<partner>/installer | sh with no settings. A partner installer built from installer.sh then picks its own method and folder. On Linux it picks apt, yum or apk when one is present, and on macOS it picks Homebrew. Its install folder defaults to /usr/bin or ~/.local/bin (check_install_method/check_directories).
- A user who first installed with a custom
INSTALL_DIRends up with a second copy elsewhere. The old binary they actually run is not upgraded. - If the partner didn't change
BREW_TAP,packageand the repository URLs, the apt or Homebrew path installsupsun-clifrom Upsun's sources. That is the same problem the PR describes.
The CLI's own tailored command (upgradeCommandFor, commands/root.go:270-272) adds INSTALL_METHOD=raw INSTALL_DIR=<dir of current binary> for exactly this reason, as its comment says. The note leaves both out.
Problem
Partner CLIs (white-label builds of this binary) are about to start checking for new releases. Binaries older than v5.12.0 print this notice when an update is available:
From v5.12.0, binaries also fall back to that link whenever they can't build a tailored upgrade command.
None of the steps under
## Upgradework for a partner user. Homebrew, Scoop, the bash installer and apk/apt/dnf all upgrade or install the separateupsunCLI. The bash installer step even installsupsunnext to the partner CLI and leaves the partner CLI as it was. A partner CLI is upgraded by running the partner's own installer again (curl -fsSL https://cli.<partner>/installer | sh).Change
README only, no code:
[!NOTE]callout at the top of## Upgradetells partner CLI users to re-run their partner's installer.### Bash installersays this step upgrades the Upsun CLI and points back to the note.The
## Upgradeheading is unchanged, so the#upgradeanchor still works, and no other heading produces the same anchor.Rollout
Old binaries link to the README on
main, so the fix reaches every existing install as soon as this is merged. No release is needed.Question for the reviewer
The text uses a generic
cli.<partner>placeholder and doesn't name any partner. Should it stay generic (my default), or should it name the partner installers?🤖 Generated with Claude Code